Aiuto lotteria di quadri [15/100]

int quadri(int N, long long M, int V[]){
    long long int sum=0;
	long long int ind=0;
	
	for(int i=0;i<N;i++) {
		if(V[i]>M){
			return 0;
		}
		if(sum+V[i]<M){
			ind = i;
			sum+=(long long int)V[i];
		}
	}
	
	long long int range = ind+1;
	
	long long int s = sum;
	
	for(long long int i=0,j=range;j<N;) {
		s += (long long int)V[j];
		s -= (long long int)V[i];
		if(s>M) {
			range--;
			s-=(long long int)V[j];
			i++;
		} else {
		    i++;
			j++;
		}
	}
	return range;
}

Non riesco a capire cosa sbaglio, se qualcuno ha qualche suggerimento ne sarei grata.

prova con questo input:
10 10
1 2 3 4 5 6 2 2 2 2

il risultato dovrebbe essere
1
e comunque in

ci vuole <=M
`if(sum+V[i]<=M){