Buonasera,
ottengo un punteggio di 80/100. Solamenti gli input del subtask 2, 2 casi non sono corretti. Una mano sarebbe gradita.
#include <stdio.h>
#include <assert.h>
#include
int compra(int N, int M, int A, int B) {
int somma = 0;
int x = 0;
int y = 0;
int distanza_da_ricoprire = N;
while(distanza_da_ricoprire>0) {
int previsione_prezzo_b = somma + (distanza_da_ricoprire * A);
int previsione_prezzo_c = (somma - y*B) + ((y+1) * B);
if(previsione_prezzo_b < previsione_prezzo_c) {
x++;
} else {
y++;
}
distanza_da_ricoprire = N - x - (y*M);
somma = x*A+(B*y);
}
return somma;
}
int main() {
FILE *fr, *fw;
int N, M, A, B;
fr = fopen("input.txt", "r");
fw = fopen("output.txt", "w");
assert(4 == fscanf(fr, "%d%d%d%d", &N, &M, &A, &B));
fprintf(fw, "%d\n", compra(N, M, A, B));
fclose(fr);
fclose(fw);
return 0;
}