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.