Submission #1359271

#TimeUsernameProblemLanguageResultExecution timeMemory
1359271sztrdxstthgSubset Mex (EGOI22_subsetmex)C++20
100 / 100
1 ms344 KiB
#include <iostream>
#define int long long
using namespace std;

int nbTests;
const int MAX_VALS = 201;
int valMax;
int depart[MAX_VALS], besoin[MAX_VALS];

void init() {
    cin >> valMax;
    for (int idV = 0; idV < valMax; idV++) {
        cin >> depart[idV];
        besoin[idV] = 0;
    }
    depart[valMax] = 0, besoin[valMax] = 1;
}

void fabrique(int nb, int nbFois) {
    if (nbFois > 0) {
        for (int i = 0; i < nb; i++) {
            besoin[i]+=nbFois;
        }
    }
}

int compteOp() {
    for (int nb = valMax; nb >= 0; nb--) {
        int diff = besoin[nb] - depart[nb];
            fabrique(nb, diff);
    }

    int nbOp = 0;
    for (int nb = 0; nb <= valMax; nb++) {
        if (besoin[nb] > depart[nb]) nbOp += besoin[nb] - depart[nb];
    }
    return nbOp;
}

signed main() {
    ios::sync_with_stdio(false), cin.tie(0);
    cin >> nbTests;
    for (int idT = 0; idT < nbTests; idT++) {
        init();
        cout << compteOp() << '\n';
    }
    return 0;
}

#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...