Lotteria (abc_quadri) output incorretto

Ciao ragazzi vi chiedo aiuto con questa soluzione di lotteria quadri. Ho usato il metodo dei due puntatori e una sliding window.
Metà dei testcase del subtask 2 sono output isn’t correct e un testcase ciascuno anche nei subtask 3,4 e 5.
Riuscite a farmi capire qual è il problema? Grazie :slight_smile:

int quadri(int N, long long M, int V[]){
	int l=1, r=0;
	long long sum = 0;
	for(int i=0; i<N; i++){
		r=i;
		sum+=V[r];
		if(sum>M) break;
	}
	// r è l'indice destro della sw

	while(l<r and r<=N-1){ // two pointers
		sum -= V[l-1]; // rimuoviamo il primo elemento dalla somma
		if(sum > M){
			l++;	// se la somma supera M anche senza il primo elemento l++
		}
		else{
			l++; // altrimenti facciamo slidare la window
			r++;
			sum += V[r];
		}
	}
	return (r-l+1>=0) ? (r-l+1) : 0;

}

Okok risolto mancava la verifica se sum<=M anche dopo ciclato tutto l’array.
È bastato aggiungere

	if(sum<=M) return N;

al termine del primo ciclo for