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++代码)浏览:804 |
众数问题 (C语言代码)浏览:3514 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:532 |
C二级辅导-求偶数和 (C语言代码)浏览:639 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:574 |
破解简单密码 (C语言代码)浏览:1766 |
简单的a+b (C语言代码)浏览:726 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:582 |
C二级辅导-统计字符 (C语言代码)浏览:506 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:505 |