155912025-02-20 20:02:01UVinceLádapakolás raktárban (50)cpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva3/32ms316 KiB
14Elfogadva3/32ms488 KiB
15Elfogadva3/33ms316 KiB
16Elfogadva2/217ms1080 KiB
17Elfogadva3/317ms1076 KiB
18Elfogadva3/320ms1076 KiB
19Elfogadva3/318ms1268 KiB
20Elfogadva3/332ms2676 KiB
21Elfogadva3/327ms2528 KiB
22Elfogadva3/327ms2956 KiB