Delivery Time (delivery)

Stavo provando a risolvere questo problema e non molti casi sono sbagliati, vi allego il programma, riuscireste a darmi qualche indizio di dove sbaglio oppure casi di input con relativi output giusti?

#include <stdio.h>
#include <assert.h>

// constraints
#define MAXN 10000

// input data
int N, i;
int T[MAXN];

int main() {

	int r1=0,r2=0;
    assert(1 == scanf("%d", &N));
    for(i=0; i<N; i++)
        assert(1 == scanf("%d", &T[i]));

    for(i=1;i<N;i++){
    	if(T[i]<T[i-1]-1 && (T[i]+i<r1 || r1==0)){ 
// la parte prima dell && controlla se rifare l'ordine il giorno dopo fa arrivare prima il pacco
// quindi se c'è una differenza di più di un giorno, la parte dopo controlla 
// se un risultato è migliore di quello che già si ha
    		r2++;
    		r1=i+T[i];
		}
	}
    
    printf("%d %d\n", r1,r2); // print the result
    return 0;
}

perchè metti inizialmente r1=0?
Prova a rivedere questo.

P.S.
Puoi farla più semplice.

1 Mi Piace

Mhh inizialmente avevo un altra idea per r1 però poi l’ho cambiata in ciò che è ora e non ho tolto quel =0 . Comunque al momento sono a scuola , mi è venuta un altra idea di come farlo, oggi lo farò in caso ho problemi ti farò sapere grazie

ok l’altra idea è stata ancora di più un fallimento quindi sono tornato su questo indizio e cambiando r1 ho fatto 100/100, grazie ancora dell’aiuto