213502026-01-12 19:12:12mihalykocsisKövek (100 pont)cpp17Hibás válasz 93/10025ms1040 KiB
#include <iostream>

using namespace std;

int main () {
    //5 7 3 8 10 2

    int n; cin >> n;
    int kupacok[n];
    int ossz = 0;
    for (int i = 0; i < n; i++) {
        cin >> kupacok[i];
        ossz += kupacok[i];
    }
    int megfelelo = ossz / n;

    int atrakasok = 0;
    for (int i = 0; i < n - 1; i++) {
        if (kupacok[i] < megfelelo) {
            if (kupacok[i + 1] >= megfelelo - kupacok[i]) {
                kupacok[i + 1] -= megfelelo - kupacok[i];
                kupacok[i] = megfelelo;
                atrakasok++;
            } else {
                kupacok[i] += kupacok[i + 1];
                kupacok[i + 1] = 0;
                atrakasok++;
                int kell = megfelelo - kupacok[i];
                int szamlalo = 0;
                int j = i + 2;
                int ennyitelkellvenni = 0;
                while (szamlalo < kell && j < n) {
                    if (szamlalo + kupacok[j] <= kell) {
                        szamlalo += kupacok[j];
                    } else {
                        ennyitelkellvenni = szamlalo - kell;
                        szamlalo = kell;
                    }
                    j++;
                }
                for (int k = j - 1; k >= i; k--) {
                    if (k == j - 1) {
                        kupacok[k] += ennyitelkellvenni;
                        kupacok[k + 1] -= ennyitelkellvenni;
                        atrakasok++;
                    } else {
                        kupacok[k] += kupacok[k + 1];
                        atrakasok++;
                    }
                }
            }
        } else if (kupacok[i] > megfelelo) {
            int kulombseg = kupacok[i] - megfelelo;
            kupacok[i] = megfelelo;
            kupacok[i + 1] += kulombseg;
            atrakasok++;
        }
    }
    cout << atrakasok;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base93/100
1Elfogadva0/01ms508 KiB
2Elfogadva0/025ms564 KiB
3Elfogadva5/51ms316 KiB
4Elfogadva5/51ms500 KiB
5Elfogadva5/51ms316 KiB
6Elfogadva5/51ms316 KiB
7Elfogadva5/51ms316 KiB
8Elfogadva5/51ms508 KiB
9Elfogadva7/71ms316 KiB
10Hibás válasz0/71ms316 KiB
11Elfogadva8/81ms316 KiB
12Elfogadva8/81ms372 KiB
13Elfogadva8/82ms316 KiB
14Elfogadva8/83ms408 KiB
15Elfogadva8/88ms316 KiB
16Elfogadva8/821ms1040 KiB
17Elfogadva8/824ms640 KiB