QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#602953#6443. Windblume Festivalucup-team3519#WA 116ms3828kbC++171.1kb2024-10-01 13:45:272024-10-01 13:45:29

Judging History

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

  • [2024-10-01 13:45:29]
  • 评测
  • 测评结果:WA
  • 用时:116ms
  • 内存:3828kb
  • [2024-10-01 13:45:27]
  • 提交

answer

#include <bits/stdc++.h>

using i64 = int64_t;

void solve() {
    int n;
    std::cin >> n;

    std::vector<int> a(n);
    for (int i = 0; i < n; ++i) {
        std::cin >> a[i];
    }

    if (std::all_of(a.begin(), a.end(), [](int x) {
            return x <= 0;
        })) {
        for (int &i : a) {
            i = -i;
        }
    }

    bool neg = false, pos = false;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= 0)
            neg = true;
        if (a[i] >= 0)
            pos = true;
    }
    if (neg && pos) {
        i64 ans = 0;
        for (int i = 0; i < n; ++i) {
            if (a[i] < 0) {
                ans += -a[i];
            } else {
                ans += a[i];
            }
        }
        std::cout << ans << '\n';
    } else {
        std::cout << std::accumulate(a.begin(), a.end(), 0LL) -
                         *std::min_element(a.begin(), a.end()) * 2LL
                  << '\n';
    }
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int t;
    std::cin >> t;

    while (t--) {
        solve();
    }
}

详细

Test #1:

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

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: 116ms
memory: 3828kb

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
...

result:

wrong answer 1st numbers differ - expected: '2', found: '-2'