Aiuto per Treni

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];
}

Perché quell’ A[0] lo metti uguale a 0?
Togliendolo fa 100 :slightly_smiling_face:

Grazie mille per l’aiuto. Ricopiando il codice avevo fatto un errore.

1 Mi Piace