QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#602953 | #6443. Windblume Festival | ucup-team3519# | WA | 116ms | 3828kb | C++17 | 1.1kb | 2024-10-01 13:45:27 | 2024-10-01 13:45:29 |
Judging History
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'