Buonasera a tutti,
stavo provando a risolvere il problema “treni” delle pre-OII, ma il mio programma risolve correttamente solo i subtasks 1 e 2. Questo è il codice che ho usato:
int tempo_massimo(int N, int a[], int b[]){
int day;
long long sec = 0;
int trenipresi[1000000];
for(day = 0; day < N; day++){
if(a[day] < b[day]){
//std::cout << trenipresi[day-1] << "\n";
if(trenipresi[day-1] != 1 && trenipresi[day-1] != 2){
trenipresi[day] = 2;
if(b[day+2] > a[day+1] && day+2 != N){
trenipresi[day+1] = 0;
day++;
}
} else if(day+1 == N){ // ULTIMO GIORNO?
trenipresi[day] = 1;
} else {
trenipresi[day] = 1;
if(b[day+2] > a[day+1] && day+2 != N){
trenipresi[day+1] = 0;
day++;
}
}
} else {
trenipresi[day] = 1;
}
}
for(day = 0; day < N; day++){
if(trenipresi[day] == 1) sec += a[day];
if(trenipresi[day] == 2) sec += b[day];
}
return sec;
}
Avete qualche consiglio? Non riesco proprio a correggere i bug senza avere gli input per il quale il programma sbaglia l’output (per questo mi piaceva di più il sistema di gara delle territoriali)
PS: potreste darmi un aiutino per il problema “flow”? non riesco a capire da dove iniziare
Grazie!