Aiuto, il codice è un semplice sliding windows ma molti casi del 3,4,5 subtask li da proprio errati, non TLE, ecco il codice
int sliding(int v[], int N, int k) {
int sf=0;
for (int i=0;i<k;i++){
sf+=v[i];}
int sommamax=sf;
for (int i=k;i<N;i++) {
sf+=(v[i]-v[i-k]);
if (sommamax<sf){
sommamax=sf;
}
}
return sommamax;
}
int quadri(int N, long long M, int v[]){
int i=0;
int tr=0;
int s=0;
int ma=0;
for (int i=0;i<N;i++){
s=s+v[i];
if (v[i]>ma){
ma=v[i];
}
}
if (M<ma){
return 0;
}
if (M>s){
return N;
}
while (tr<M){
i++;
tr=sliding(v,N,i);
//cout<<"finestra di "<<i<< " summax "<<tr<<endl;
}
i--;
return i;
}