Ciao ragazzi ho provato a sviluppare l’algoritmo dell’esercizio “ristorante” e una volta inviato il codice ottengo 5/100 pt ovvero 6 output sbagliati su 20. Questo è il codice nel main:
{
long N, D, a[100000], M, R = 0, F = 0, S;
FILE *input, *output;
input = fopen("input.txt","r");
output = fopen("output.txt","w");
fscanf(input,"%ld %ld", &N, &D);
for(auto i=0; i<N; i++) fscanf(input,"%ld ", &a[i]);
fscanf(input,"%ld", &M);
if(M>N)
{
sort(a,a+N);
S = M - N;
for(auto i=0; i<N; i++) R+=a[i];
F = R - (S * D);
}
else if(M<N)
{
sort(a,a+N);
S = M - N;
for(auto i=0; i<M; i++) R+=a[i];
F = R - (S * D);
}
else if(M==N)
{
for(auto i=0; i<M; i++) R+=a[i];
}
fprintf(output,"%ld",F);
fclose(input);
fclose(output);
return 0;
Sapete dirmi dov’è l’errore ?