153602025-02-19 08:56:57999Ládapakolás raktárban (50)cpp17Elfogadva 50/5050ms2576 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,k;cin>>n>>k;
    vector<int> v(n);
    for(int i = 0;i<n;i++){
        cin>>v[i];
    }
    int cnt=0;
    set<int> s;
    int i=0,j=0;
    while(i<n){
        s.clear();
        j=i;
        int sum=0;
        bool decreased=false;
        while(j<n&&sum+v[j]<=k&&s.find(v[j])==s.end()&&!(j>0&&decreased&&v[j]>v[j-1])){
            if(j>i&&v[j]<v[j-1])decreased=true;
            s.insert(v[j]);
            sum+=v[j];
            j++;
        }
        // cerr << i << " " << j << endl;
        cnt+=max(j-i-1,0);
        i=j;
    }
    cout<<cnt<<endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms508 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms372 KiB
12Elfogadva2/22ms316 KiB
13Elfogadva3/33ms344 KiB
14Elfogadva3/33ms316 KiB
15Elfogadva3/34ms432 KiB
16Elfogadva2/230ms800 KiB
17Elfogadva3/339ms568 KiB
18Elfogadva3/348ms804 KiB
19Elfogadva3/335ms892 KiB
20Elfogadva3/350ms2356 KiB
21Elfogadva3/345ms2280 KiB
22Elfogadva3/348ms2576 KiB