constexpr auto Inf = 0X3F3F3F3F; #ifndef LOCAL #include <bits/stdc++.h> #endif typedef long long LL; using namespace std; namespace IO { inline LL read() { LL o = 0, f = 1; char c = getchar(); while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); } while (c > '/' && c < ':') { o = o * 10 + c - '0'; c = getchar(); } return o * f; } inline char recd() { char o; while ((o = getchar()) < '0' || o > '9'); return o; } inline double reod() { double o = read(), f = 1; char c; while ((c = getchar()) > '/' && c < ':') o += (c - '0') / (f *= 10); return o; } } using namespace IO; const int SIZE = 2E5 + 7, Mod = 1E9 + 7; int a[SIZE]; int main() { int N = read(), M = read(), neg = 0; LL S = 0; for (int pos = 1; pos <= N + M + 1; pos++) S += (a[pos] = read()), neg += a[pos] < 0; sort(a + 1, a + 1 + N + M + 1); if (!M) printf("%lld\n", S); else if (a[1] > 0) printf("%lld\n", S - (a[1] << 1)); else { S = 0; for (int pos = 1; pos <= N + M + 1; pos++) S += abs(a[pos]), a[pos] = abs(a[pos]); if (neg > N + M) sort(a + 1, a + 1 + N + M + 1), S -= (a[1] << 1); printf("%lld\n", S); } }
0.0分
1 人评分