跳转链接
https://www.acwing.com/problem/content/1249/ 来源:第十届蓝桥杯省赛C++B组,第十届蓝桥杯省赛JAVAB组
题解思路
https://www.acwing.com/solution/content/10906/
cpp
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 100010 << 1;
int n, m;
int a[N];
int main()
{
scanf("%d%d", &n, &m);
int k = n + m + 1;
for (int i = 1; i <= k; i++) scanf("%d", &a[i]);
LL res = 0;
if (!m) // 如果没有负号,直接全部相加
{
for (int i = 1; i <= n; i++) res += a[i];
}
else
{
sort(a + 1, a + 1 + k);
res = a[k] - a[1];
for (int i = 2; i < k; i++) res += a[i];
}
cout << res;
return 0;
}
