235602026-01-24 19:18:40miszorimarciLádapakolás raktárban (50)cpp17Wrong answer 32/5018ms1600 KiB
#include <bits/stdc++.h>

using namespace std;


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

    int N, M; cin >> N >> M;

    vector<int> L(N + 1);
    for (int i = 1; i <= N; ++i) {
        cin >> L[i];
    }

    vector<int> dp(N + 1, 0);
    vector<int> start(N + 1);
    
    int inc_start = 1, sum_start = 1;
    long long sum = 0;

    for (int i = 1; i <= N; ++i) {
        if (i == 1) {
            start[i] = 1;
            inc_start = 1;
        } else {
            if (L[i] > L[i - 1]) {
                start[i] = inc_start;
            } else if (L[i] < L[i - 1]) {
                start[i] = start[i - 1];
                inc_start = i; 
            } else {
                start[i] = i;
                inc_start = i;
            }
        }

        sum += L[i];
        while (sum > M) {
            sum -= L[sum_start];
            sum_start++;
        }
        int j = max(start[i], sum_start);
        dp[i] = 1 + dp[j - 1];
    }

    cout << N - dp[N] << "\n";

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base32/50
1Accepted0/01ms316 KiB
2Wrong answer0/02ms552 KiB
3Accepted2/21ms316 KiB
4Wrong answer0/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/22ms500 KiB
7Accepted2/21ms332 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms316 KiB
12Wrong answer0/21ms316 KiB
13Accepted3/32ms316 KiB
14Wrong answer0/32ms316 KiB
15Accepted3/32ms316 KiB
16Wrong answer0/214ms1588 KiB
17Accepted3/314ms1592 KiB
18Accepted3/318ms1600 KiB
19Accepted3/310ms1284 KiB
20Wrong answer0/312ms1316 KiB
21Wrong answer0/310ms1280 KiB
22Wrong answer0/313ms1320 KiB