231232026-01-16 12:49:16khn08Folyóparti telkek (40 pont)cpp17Hibás válasz 38/4029ms636 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	long long int n, m;
    cin>>n>>m;
    vector<int>t(n+1);
    long long int s=0;
    int v=0; int e=1;
    for(int i=1; i<=n; i++){
        cin>>t[i];
        if(s+t[i]<=m && v==(i-1)){
            s+=t[i];
            v=i;
        }
    }
    int db=0;
    while(v<=n && e<=v){
        //cout<<e<<" "<<v<<" "<<s<<endl;
        if(s<=m){
            db=max(db, v-e+1);
            v++;
            s+=t[v];
        }
        else{
             s-=t[e];
            e++;
        }
        if(e==v){
            if(t[e]<=m) db=max(db, 1);
            v++;
            s+=t[v];
        }
    }
    cout<<db;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/029ms564 KiB
3Elfogadva2/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Elfogadva2/21ms552 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/32ms316 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/313ms568 KiB
13Elfogadva3/318ms564 KiB
14Elfogadva3/316ms568 KiB
15Elfogadva3/321ms564 KiB
16Elfogadva3/321ms568 KiB
17Elfogadva3/327ms636 KiB