Buongiorno. Stavo provando a risolvere il problema Treni e ho ideato questa soluzione che passi tutti i testcase tranne il primo del 4° subtask. Qualcuno mi potrebbe dare una mano?
int tempo_massimo(int N, int A[], int B[]){
if (N == 1) return A[0] >= B[0] ? A[0] : B[0];
A[0] = A[0] >= B[0] ? A[0] : B[0];
if(B[1] > A[0] + A[1]) {
A[0] = 0;
A[1] = B[1];
} else {
A[1] = A[0] + A[1];
}
for (int i = 2; i < N; i++) {
//Better choice train from array B
if ((A[i-2] + B[i]) > (A[i-1] + A[i])) {
A[i] = A[i-2] + B[i];
} else {
A[i] = A[i-1] + A[i];
}
/*if ((time + A[i]) > (time + B[i] - prev)) {
time += A[i];
prev = A[i];
times[i] = times[i-1] + A[i];
} else {
times[i] = times[i-2] + B[i];
time -= prev;
time += B[i];
prev = B[i];
}*/
}
return A[N-1];
}