QOJ.ac
QOJ
The 2nd Universal Cup Finals is coming! Check out our event page, schedule, and competition rules!
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#673365 | #8057. Best Carry Player 4 | lonelywolf# | WA | 0ms | 3520kb | C++20 | 1.2kb | 2024-10-24 21:56:25 | 2024-10-24 21:56:27 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve() {
int m;
cin >> m;
int sa = 0, sb = 0;
vector<int> a(m), b(m);
for (int i = 0; i < m; i++) {
cin >> a[i];
sa += a[i];
}
for (int i = 0; i < m; i++) {
cin >> b[i];
sb += b[i];
}
if (sa > sb) {
b[0] += sa - sb;
} else {
a[0] += sb - sa;
}
reverse(b.begin(), b.end());
int mx = 0;
auto work = [&]() {
int ans = 0;
int s = 0;
for (int i = 0; i < m; i++) {
s += b[i];
if (s >= a[i]) {
s -= a[i];
ans += a[i];
} else {
ans += s;
s = 0;
}
}
for (int i = 0; i < m; i++) {
cout << a[i] << " \n"[i + 1 == m];
}
for (int i = 0; i < m; i++) {
cout << b[i] << " \n"[i + 1 == m];
}
cout << ans << "\n";
return ans;
};
for (int i = 0; i < m; i++) {
for (int j = i + 1; j < m; j++) {
if (b[i] > 0 && a[j] > 0) {
a[j]--, b[i]--;
mx = max(work() + 1, mx);
a[j]++, b[i]++;
}
}
}
cout << mx << "\n";
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3520kb
input:
5 2 1 2 3 4 3 1 0 1 0 1 0 4 1 0 0 1 1 1 1 1 5 123456 114514 1919810 233333 234567 20050815 998244353 0 0 0 10 5 3 5 3 2 4 2 4 1 5 9 9 8 2 4 4 3 5 3 0
output:
5 1 3 3 4 5 1 0 0 0 0 1 0 1 3 0 0 0 0 1 1 1 0 3 0 0 0 1 0 1 1 1 3 0 0 0 1 1 0 1 1 2 1015792944 114514 1919810 233333 234566 0 0 0 998244352 20050815 467899 467900 18 3 4 3 2 4 2 4 1 5 0 2 5 3 4 4 2 8 9 9 27 18 3 5 2 2 4 2 4 1 5 0 2 5 3 4 4 2 8 9 9 27 18 3 5 3 1 4 2 4 1 5 0 2 5 3 4 4 2 8 9 9 27 18 3 ...
result:
wrong answer 3rd numbers differ - expected: '2', found: '3'