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
AC × 2
AC × 55
WA × 39
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