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 人评分
C二级辅导-等差数列 (C语言代码)浏览:591 |
简单的a+b (C语言代码)浏览:726 |
字符串输入输出函数 (C++代码)(都当成字符串吧hhhhhhhh)浏览:493 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:605 |
WU-整除问题 (C++代码)浏览:612 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2092 |
水仙花 (C语言代码)浏览:1052 |
数字游戏 (C++代码)浏览:1184 |
DNA (C语言代码)浏览:741 |
【计算直线的交点数】 (C语言代码)浏览:923 |