diff options
| -rw-r--r-- | works/solutions/acwing/1247.cpp | 39 | 
1 files changed, 39 insertions, 0 deletions
| diff --git a/works/solutions/acwing/1247.cpp b/works/solutions/acwing/1247.cpp new file mode 100644 index 0000000..132c63c --- /dev/null +++ b/works/solutions/acwing/1247.cpp @@ -0,0 +1,39 @@ +#include <cmath>
 +#include <iostream>
 +
 +int main() {
 +  std::ios_base::sync_with_stdio(false);
 +  std::cin.tie(nullptr);
 +
 +  int N, M;
 +  std::cin >> N >> M;
 +
 +  long long result = 0;
 +
 +  long long min = 1e9 + 1;
 +  long long max = -1e9 - 1;
 +
 +  for (int i = 0; i < N + M + 1; i++) {
 +    long long a;
 +    std::cin >> a;
 +    max = std::max(a, max);
 +    min = std::min(a, min);
 +    if (M == 0) {
 +      result += a;
 +    } else {
 +      result += std::abs(a);
 +    }
 +  }
 +
 +  if (M != 0 && max < 0) {
 +    result += 2 * max;
 +  }
 +
 +  if (M == 1 && min > 0) {
 +    result -= 2 * min;
 +  }
 +
 +  std::cout << result;
 +
 +  return 0;
 +}
 | 
