QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#687520#6443. Windblume FestivalRimuruChanWA 115ms3652kbC++231.1kb2024-10-29 19:28:332024-10-29 19:28:36

Judging History

你现在查看的是最新测评结果

  • [2024-10-29 19:28:36]
  • 评测
  • 测评结果:WA
  • 用时:115ms
  • 内存:3652kb
  • [2024-10-29 19:28:33]
  • 提交

answer

#include <bits/stdc++.h>
#ifdef LOCAL_DEBUG
#include "debug.h"
#else
#define dbg(...) (void)0
#endif
using u32 = unsigned int;
using i64 = long long;

namespace skadi {

void solve() {
    int n;
    std::cin >> n;
    std::vector<i64> a(n);
    bool neg = false, pos = false, zero = false;
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
        if (a[i] < 0) {
            neg = true;
        } else if (a[i] > 0) {
            pos = true;
        } else {
            zero = true;
        }
        a[i] = std::abs(a[i]);
    }
    if (n == 1) {
        std::cout << a[0] << '\n';
        return;
    }
    i64 sum = std::accumulate(a.begin(), a.end(), 0LL);
    if ((neg && pos) || zero) {
        std::cout << sum << '\n';
    } else {
        std::cout << sum - 2 * *std::min_element(a.begin(), a.end()) << '\n';
    }
}

} // namespace skadi

int main() {
#ifndef LOCAL_DEBUG
    std::cin.tie(nullptr)->sync_with_stdio(false);
#endif
    int t = 1;
    std::cin >> t;
    while (t--) {
        skadi::solve();
    }
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3544kb

input:

5
4
1 -3 2 -4
11
91 66 73 71 32 83 72 79 84 33 93
12
91 66 73 71 32 83 72 79 84 33 33 93
13
91 66 73 71 32 83 72 79 84 33 33 33 93
1
0

output:

10
713
746
779
0

result:

ok 5 number(s): "10 713 746 779 0"

Test #2:

score: -100
Wrong Answer
time: 115ms
memory: 3652kb

input:

1000000
1
2
1
-2
1
1
1
-1
1
2
1
1
1
2
1
-2
1
-2
1
2
1
1
1
1
1
2
1
2
1
2
1
-2
1
-2
1
0
1
2
1
1
1
-1
1
0
1
-2
1
0
1
1
1
1
1
-2
1
-2
1
2
1
1
1
2
1
1
1
1
1
0
1
2
1
0
1
-1
1
-1
1
-2
1
-2
1
0
1
-2
1
0
1
1
1
-1
1
2
1
0
1
-2
1
-2
1
0
1
1
1
-1
1
-2
1
-1
1
0
1
-1
1
-1
1
-1
1
-1
1
1
1
2
1
0
1
0
1
-2
1
2
1
2
1
...

output:

2
2
1
1
2
1
2
2
2
2
1
1
2
2
2
2
2
0
2
1
1
0
2
0
1
1
2
2
2
1
2
1
1
0
2
0
1
1
2
2
0
2
0
1
1
2
0
2
2
0
1
1
2
1
0
1
1
1
1
1
2
0
0
2
2
2
1
2
2
1
2
1
2
2
1
1
0
2
0
0
0
1
1
2
1
1
0
2
1
2
1
1
0
1
2
2
1
1
0
2
2
2
1
0
1
0
1
0
1
2
2
1
2
2
0
1
1
1
2
2
2
1
1
2
0
2
2
2
1
0
1
0
1
2
2
1
2
1
1
0
1
1
1
0
2
2
1
0
2
0
...

result:

wrong answer 2nd numbers differ - expected: '-2', found: '2'