Aiuto in precise average

Salve a tutti, sono nuovo nel campo dell’informatica e ho riscontrato dei problemi su Precise Average (CMSocial - a social coding app). Continua a darmi 0/100 come risultato eppure il programma sembra funzionare con gli esempi:

#include
#include
#include
#include
#include
#include

using namespace std;

int main() {
// uncomment the two following lines if you want to read/write from files
// ifstream cin(“input.txt”);
// ofstream cout(“output.txt”);

int N, K;
cin >> N >> K;

vector<int> P(N);
for (int i = 0; i < N; ++i)
    cin >> P[i];

int ans = 0;

int somma;
for (int k = 0; k < N; ++k) {
    somma += P[k];
}

int sommaFin = N*K;

int differenza = abs(sommaFin-somma);

sort (P.begin(), P.end(), greater<int>());

if(somma==sommaFin) {
    ans = 0;
}

if(somma<sommaFin) {
    ans = 1;
}

int z=0;
if(somma>sommaFin) {
    while (differenza >= 0) {
        differenza -= (P[z]-1);
        z++;
    }
    ans = z;
}
cout << ans << endl;

return 0;

}

Ciao, stai attento che non hai inizializzato a 0 la variabile somma. Inoltre ho notato un altro piccolo errore che confido riuscirai a trovare da solo. Infine ti consiglio anche di fare attenzione ai problemi di overflow. Per il resto la tua logica è corretta.

1 Mi Piace

Grazie mille, alla fine sono riuscito a risolverlo

1 Mi Piace