183172025-10-19 21:51:29ercseferencLádapakolás raktárban (50)cpp17Accepted 50/5050ms3124 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,h;
    cin>>n>>h; vector<int>a(n);
    set<int>lada; int k,db=1,m=0;
    for(int i=0; i<n; i++)cin>>a[i];
    bool nov;
    for(int i=0; i<n; i++){
        if(lada.empty()){
            lada.insert(a[i]);
            m=a[i];
            if(a[i+1]-a[i]>0)nov=1;
            else if(a[i+1]-a[i]<0)nov=0;
            else{lada.clear(); db++;}}
        else{
            if(!lada.count(a[i])&& m+a[i]<=h){
                int jo;
                if(a[i]-a[i-1]>0 && nov)jo=1;
                else if(a[i]-a[i-1]<0 && !nov)jo=1;
                else if(a[i]-a[i-1]<0 && nov){nov=0; jo=1;}
                else jo=0;
                if(jo){lada.insert(a[i]); m+=a[i];}
                else {lada.clear(); i--; db++;}}
            else {lada.clear(); i--; db++;}}}
    cout<<n-db;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms508 KiB
2Accepted0/04ms316 KiB
3Accepted2/21ms500 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms508 KiB
6Accepted2/21ms496 KiB
7Accepted2/21ms508 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms320 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms508 KiB
12Accepted2/22ms316 KiB
13Accepted3/33ms316 KiB
14Accepted3/34ms316 KiB
15Accepted3/34ms316 KiB
16Accepted2/230ms1168 KiB
17Accepted3/341ms1428 KiB
18Accepted3/350ms1680 KiB
19Accepted3/337ms1380 KiB
20Accepted3/350ms2868 KiB
21Accepted3/345ms2764 KiB
22Accepted3/348ms3124 KiB