Salve a tutti dopo svariati tentativi nel quale ho provato a risolvere OIS Biglietti non ottengo un punteggio superiore a 20 su 100 nonostante sembra funzionare molto bene.
Il codice è il seguente:
#include <stdio.h>
#include <assert.h>
int compra( int N, int M, int A, int B) {
int i;
for ( i= 1; i * M < N; i++) {
if (A * N < B * i) {
if ((A * N > B * i + A * i) && (M * i + i >= N))return B * i + A * i;
break;
}
else if ((i * B > B * i + A * i) && (M * i + i >= N))return B * i + A * i;
else if (B * i && M * i >= N)return B * i;
}
return (A * N > i * B) ? i * B : A * N;
}
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;
}
piu precisamente l’errore che mi da è al
Subtask1 001= l’output non è coretto
Subtask2 014= l’output non è corretto
Subtask4 021=l’output non è corretto
Sembra esserci un errore per un determinato input ma non riesco a trovare quale