Essenza - 95/100

Fallisce solamente il maledetto testcase 009, che proprio non riesco a capire in cosa sia diverso dagli altri.

for (int i=0; i<n; i++) {
    for (int j=i+1; j<=i+k; j++) {

        if (j >=n ) {cout << diffmax; return 0;}

        temp = a[j] - a[i];
        if (temp > diffmax) diffmax = temp;

    }
}


cout << diffmax;
return 0;

Perchè se j >= n all’interno del loop termini il programma?
In questo modo escludi la parte di soluzione che inizia con la scelta di un elemento tra gli ultimi k - 1 dell’array in ingresso.

2 Mi Piace