Submission #70987422
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
if (!(cin >> N)) return 0;
vector<long long> A(N);
long long S = 0;
for (int i = 0; i < N; ++i) {
cin >> A[i];
S += A[i];
}
if (S % N != 0) {
cout << -1 << '\n';
return 0;
}
long long T = S / N;
vector<long long> d(N);
for (int i = 0; i < N; ++i) {
d[i] = A[i] - T;
}
vector<int> pq1, pq2;
for (int i = 0; i < N; ++i) {
if (d[i] > 0) pq1.push_back(i);
else if (d[i] < 0) pq2.push_back(i);
}
vector<tuple<int,int,long long>> ops;
int i = 0, j = 0;
while (i < (int)pq1.size() && j < (int)pq2.size()) {
int x = pq1[i];
int y = pq2[j];
long long give = min(d[x], -d[y]);
if (give > 0) {
ops.emplace_back(x + 1, y + 1, give);
d[x] -= give;
d[y] += give;
}
if (d[x] == 0) ++i;
if (d[y] == 0) ++j;
}
cout << ops.size() << '\n';
for (auto &op : ops) {
int x, y;
long long z;
tie(x, y, z) = op;
cout << x << ' ' << y << ' ' << z << '\n';
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Candy Redistribution |
| User | Kifff12 |
| Language | C++23 (GCC 15.2.0) |
| Score | 0 |
| Code Size | 1306 Byte |
| Status | WA |
| Exec Time | 1 ms |
| Memory | 3660 KiB |
Judge Result
| Set Name | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 525 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-01.txt, 00-sample-02.txt |
| All | 00-sample-01.txt, 00-sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt, 01-57.txt, 01-58.txt, 01-59.txt, 01-60.txt, 01-61.txt, 01-62.txt, 01-63.txt, 01-64.txt, 01-65.txt, 01-66.txt, 01-67.txt, 01-68.txt, 01-69.txt, 01-70.txt, 01-71.txt, 01-72.txt, 01-73.txt, 01-74.txt, 01-75.txt, 01-76.txt, 01-77.txt, 01-78.txt, 01-79.txt, 01-80.txt, 01-81.txt, 01-82.txt, 01-83.txt, 01-84.txt, 01-85.txt, 01-86.txt, 01-87.txt, 01-88.txt, 01-89.txt, 01-90.txt, 01-91.txt, 01-92.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-01.txt | AC | 1 ms | 3608 KiB |
| 00-sample-02.txt | AC | 1 ms | 3500 KiB |
| 01-01.txt | AC | 1 ms | 3596 KiB |
| 01-02.txt | AC | 1 ms | 3600 KiB |
| 01-03.txt | AC | 1 ms | 3500 KiB |
| 01-04.txt | AC | 1 ms | 3540 KiB |
| 01-05.txt | AC | 1 ms | 3548 KiB |
| 01-06.txt | AC | 1 ms | 3596 KiB |
| 01-07.txt | AC | 1 ms | 3600 KiB |
| 01-08.txt | AC | 1 ms | 3528 KiB |
| 01-09.txt | AC | 1 ms | 3588 KiB |
| 01-10.txt | AC | 1 ms | 3536 KiB |
| 01-11.txt | AC | 1 ms | 3500 KiB |
| 01-12.txt | AC | 1 ms | 3656 KiB |
| 01-13.txt | AC | 1 ms | 3540 KiB |
| 01-14.txt | AC | 1 ms | 3624 KiB |
| 01-15.txt | AC | 1 ms | 3616 KiB |
| 01-16.txt | AC | 1 ms | 3640 KiB |
| 01-17.txt | AC | 1 ms | 3608 KiB |
| 01-18.txt | AC | 1 ms | 3536 KiB |
| 01-19.txt | AC | 1 ms | 3536 KiB |
| 01-20.txt | AC | 1 ms | 3600 KiB |
| 01-21.txt | WA | 1 ms | 3488 KiB |
| 01-22.txt | WA | 1 ms | 3528 KiB |
| 01-23.txt | AC | 1 ms | 3564 KiB |
| 01-24.txt | WA | 1 ms | 3540 KiB |
| 01-25.txt | WA | 1 ms | 3608 KiB |
| 01-26.txt | WA | 1 ms | 3660 KiB |
| 01-27.txt | WA | 1 ms | 3656 KiB |
| 01-28.txt | WA | 1 ms | 3632 KiB |
| 01-29.txt | WA | 1 ms | 3564 KiB |
| 01-30.txt | WA | 1 ms | 3656 KiB |
| 01-31.txt | WA | 1 ms | 3660 KiB |
| 01-32.txt | WA | 1 ms | 3452 KiB |
| 01-33.txt | AC | 1 ms | 3500 KiB |
| 01-34.txt | WA | 1 ms | 3616 KiB |
| 01-35.txt | WA | 1 ms | 3452 KiB |
| 01-36.txt | WA | 1 ms | 3596 KiB |
| 01-37.txt | WA | 1 ms | 3596 KiB |
| 01-38.txt | WA | 1 ms | 3640 KiB |
| 01-39.txt | AC | 1 ms | 3660 KiB |
| 01-40.txt | WA | 1 ms | 3564 KiB |
| 01-41.txt | WA | 1 ms | 3564 KiB |
| 01-42.txt | AC | 1 ms | 3660 KiB |
| 01-43.txt | AC | 1 ms | 3656 KiB |
| 01-44.txt | WA | 1 ms | 3452 KiB |
| 01-45.txt | WA | 1 ms | 3564 KiB |
| 01-46.txt | WA | 1 ms | 3600 KiB |
| 01-47.txt | WA | 1 ms | 3612 KiB |
| 01-48.txt | WA | 1 ms | 3660 KiB |
| 01-49.txt | WA | 1 ms | 3528 KiB |
| 01-50.txt | AC | 1 ms | 3528 KiB |
| 01-51.txt | AC | 1 ms | 3540 KiB |
| 01-52.txt | WA | 1 ms | 3528 KiB |
| 01-53.txt | WA | 1 ms | 3564 KiB |
| 01-54.txt | WA | 1 ms | 3600 KiB |
| 01-55.txt | WA | 1 ms | 3616 KiB |
| 01-56.txt | WA | 1 ms | 3540 KiB |
| 01-57.txt | WA | 1 ms | 3600 KiB |
| 01-58.txt | WA | 1 ms | 3604 KiB |
| 01-59.txt | WA | 1 ms | 3528 KiB |
| 01-60.txt | WA | 1 ms | 3616 KiB |
| 01-61.txt | WA | 1 ms | 3564 KiB |
| 01-62.txt | WA | 1 ms | 3488 KiB |
| 01-63.txt | WA | 1 ms | 3596 KiB |
| 01-64.txt | WA | 1 ms | 3540 KiB |
| 01-65.txt | WA | 1 ms | 3632 KiB |
| 01-66.txt | WA | 1 ms | 3612 KiB |
| 01-67.txt | AC | 1 ms | 3608 KiB |
| 01-68.txt | AC | 1 ms | 3600 KiB |
| 01-69.txt | AC | 1 ms | 3536 KiB |
| 01-70.txt | AC | 1 ms | 3596 KiB |
| 01-71.txt | AC | 1 ms | 3612 KiB |
| 01-72.txt | AC | 1 ms | 3452 KiB |
| 01-73.txt | AC | 1 ms | 3564 KiB |
| 01-74.txt | AC | 1 ms | 3608 KiB |
| 01-75.txt | AC | 1 ms | 3660 KiB |
| 01-76.txt | AC | 1 ms | 3596 KiB |
| 01-77.txt | AC | 1 ms | 3600 KiB |
| 01-78.txt | AC | 1 ms | 3616 KiB |
| 01-79.txt | AC | 1 ms | 3536 KiB |
| 01-80.txt | AC | 1 ms | 3616 KiB |
| 01-81.txt | AC | 1 ms | 3536 KiB |
| 01-82.txt | AC | 1 ms | 3608 KiB |
| 01-83.txt | AC | 1 ms | 3596 KiB |
| 01-84.txt | AC | 1 ms | 3612 KiB |
| 01-85.txt | AC | 1 ms | 3600 KiB |
| 01-86.txt | AC | 1 ms | 3616 KiB |
| 01-87.txt | AC | 1 ms | 3632 KiB |
| 01-88.txt | AC | 1 ms | 3564 KiB |
| 01-89.txt | AC | 1 ms | 3660 KiB |
| 01-90.txt | AC | 1 ms | 3548 KiB |
| 01-91.txt | AC | 1 ms | 3528 KiB |
| 01-92.txt | AC | 1 ms | 3528 KiB |