132272025-01-07 09:34:16PKBKövek (100 pont)cpp17Wrong answer 27/10027ms1552 KiB
#include <iostream>
#include <vector>

using namespace std;

int main() {
    long long int kovek_szama;
    vector<long long int> kovek;

    cin >> kovek_szama;
    long long int temp;

    for (long long int i = 0; i < kovek_szama; i++) {
        cin >> temp;
        kovek.push_back(temp);
    }

    long long int osszeg = 0;

    for (long long int i = 0; i<kovek_szama; i++) {
        osszeg+=kovek[i];
    }

    long long int atlag = osszeg / kovek_szama;

    long long int atviheto_kovek = 0;

    long long int mozgatasok = 0;

    vector<long long int> visszaterunk_ra_kesobb;

    for (long long int i = 0; i<kovek_szama; i++) {


        if (kovek[i] > atlag) {
            atviheto_kovek += kovek[i] - atlag;
            kovek[i] -= kovek[i] - atlag;
            mozgatasok++;
        }

        if (kovek[i] < atlag && atviheto_kovek < atlag - kovek[i]) {

            visszaterunk_ra_kesobb.push_back(i);

        } else {

            if (kovek[i] < atlag) {

                atviheto_kovek -= atlag - kovek[i];

                kovek[i] = atlag;

            }
        }
    }

    for (long long int i = 0; i<visszaterunk_ra_kesobb.size(); i++) {
        atviheto_kovek -= atlag - kovek[visszaterunk_ra_kesobb[i]];

        kovek[visszaterunk_ra_kesobb[i]] = atlag;
    }


    cout << mozgatasok;
}








SubtaskSumTestVerdictTimeMemory
base27/100
1Accepted0/01ms316 KiB
2Wrong answer0/027ms1456 KiB
3Accepted5/51ms316 KiB
4Accepted5/51ms328 KiB
5Wrong answer0/51ms316 KiB
6Wrong answer0/51ms316 KiB
7Accepted5/51ms404 KiB
8Accepted5/51ms316 KiB
9Accepted7/71ms316 KiB
10Wrong answer0/71ms320 KiB
11Wrong answer0/81ms500 KiB
12Wrong answer0/81ms500 KiB
13Wrong answer0/82ms396 KiB
14Wrong answer0/84ms576 KiB
15Wrong answer0/810ms1160 KiB
16Wrong answer0/824ms1368 KiB
17Wrong answer0/827ms1552 KiB