132272025-01-07 09:34:16PKBKövek (100 pont)cpp17Hibás válasz 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;
}








RészfeladatÖsszpontTesztVerdiktIdőMemória
base27/100
1Elfogadva0/01ms316 KiB
2Hibás válasz0/027ms1456 KiB
3Elfogadva5/51ms316 KiB
4Elfogadva5/51ms328 KiB
5Hibás válasz0/51ms316 KiB
6Hibás válasz0/51ms316 KiB
7Elfogadva5/51ms404 KiB
8Elfogadva5/51ms316 KiB
9Elfogadva7/71ms316 KiB
10Hibás válasz0/71ms320 KiB
11Hibás válasz0/81ms500 KiB
12Hibás válasz0/81ms500 KiB
13Hibás válasz0/82ms396 KiB
14Hibás válasz0/84ms576 KiB
15Hibás válasz0/810ms1160 KiB
16Hibás válasz0/824ms1368 KiB
17Hibás válasz0/827ms1552 KiB