155912025-02-20 20:02:01UVinceLádapakolás raktárban (50)cpp17Accepted 50/5032ms2956 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);

    ll n,m;
    cin>>n>>m;
    vector<ll> v(n); 
    for (ll &i : v) cin>>i;
    ll cnt=v[0];
    int ans=1;
    set<ll> s={v[0]};
    bool phase=true;
    for (int i=1;i<n;i++){
        if (s.find(v[i])!=s.end() || cnt+v[i]>m){
            s.clear();
            s.insert(v[i]);
            cnt=v[i];
            ans++;
            phase=true;
            continue;
        }
        if ((v[i]-v[i-1]>0) == phase){
            cnt+=v[i];
            s.insert(v[i]);
        }
        else if (phase){
            phase=false;
            cnt+=v[i];
            s.insert(v[i]);
        }
        else {
            s.clear();
            s.insert(v[i]);
            cnt=v[i];
            ans++;
            phase=true;
            continue;
        }
    }
    cout<<n-ans;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/02ms316 KiB
3Accepted2/21ms508 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms316 KiB
12Accepted2/21ms316 KiB
13Accepted3/32ms316 KiB
14Accepted3/32ms488 KiB
15Accepted3/33ms316 KiB
16Accepted2/217ms1080 KiB
17Accepted3/317ms1076 KiB
18Accepted3/320ms1076 KiB
19Accepted3/318ms1268 KiB
20Accepted3/332ms2676 KiB
21Accepted3/327ms2528 KiB
22Accepted3/327ms2956 KiB