89412024-02-06 18:48:20hackemonLádapakolás raktárban (50)cpp17Elfogadva 50/5035ms12204 KiB
#include <bits/stdc++.h>
using namespace std;


int main() {
    //freopen("be2.txt", "r", stdin);

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n, m;
    cin >> n >> m;


    vector<int> k(n); 
    int ans = 0; 

    for(int i = 0;i < n;i++ ) {
        cin >> k[i];
    }
    long long sum = 0; 

    set<int> f;
    f.insert(k[0]); 
    sum+= k[0];
    int counter = 1; 
   

    bool increasing = true;

    for(int i = 1;i < n;i++ ) { 
        if(f.find(k[i]) != f.end() || sum + k[i] > m) {
            f.clear();
            counter++;
            f.insert(k[i]);
            sum = k[i];
            increasing = true;
        } else if(k[i] < k[i-1]) {
            if(increasing) {
                increasing = false; 
            }
            f.insert(k[i]);
            sum+= k[i];
        } else {
            if(!increasing) {
                f.clear();
                counter++;
                increasing = true;
                sum = 0;
            }
            sum += k[i];
            f.insert(k[i]);
        }
    }

    cout << n - counter << endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1828 KiB
2Elfogadva0/04ms2192 KiB
3Elfogadva2/23ms2336 KiB
4Elfogadva2/23ms2492 KiB
5Elfogadva2/23ms2720 KiB
6Elfogadva2/23ms2936 KiB
7Elfogadva2/23ms2900 KiB
8Elfogadva2/23ms2908 KiB
9Elfogadva3/33ms3036 KiB
10Elfogadva2/23ms3124 KiB
11Elfogadva2/23ms3132 KiB
12Elfogadva2/23ms3148 KiB
13Elfogadva3/34ms3496 KiB
14Elfogadva3/34ms3516 KiB
15Elfogadva3/34ms3552 KiB
16Elfogadva2/217ms4548 KiB
17Elfogadva3/320ms5220 KiB
18Elfogadva3/324ms6452 KiB
19Elfogadva3/320ms6924 KiB
20Elfogadva3/335ms10664 KiB
21Elfogadva3/328ms11192 KiB
22Elfogadva3/328ms12204 KiB