Buongiorno ragazzi, ho un problema con la risoluzione di “ois_biglietti”.
il codice mi esce 0/100, e andando ad analizzare i risultati, vedo che quando supera i testcase il tempo di esecuzione è rasente ai 0ms, mentre quando non li supera mi da “execution timed out”, superando il limite di tempo. Non comprendo questa ambiguità: presuppongo il problema sia mio.
Sotto c’è il codice, mi riuscireste ad aiutare?
#include <stdio.h>
#include <assert.h>
int compra(int N, int M, int A, int B) {
// Mettete qui il codice della soluzione
int ans = 0;
while(N){
if(M * A < B){
ans += M * A;
N -= M;
}
else if(M * A > B && N * A > B){
ans += B;
N -= M;
}
else{
ans += A;
N--;
}
}
return ans;
}
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;
}