201942026-01-04 16:46:11hunzombiVirágos rét (50 pont)cpp17Accepted 50/5018ms1260 KiB
#include <bits/stdc++.h>
using namespace std;

// prefix sum, and result += sum - k + 1 if sum >= k

long long n, k, ans;
vector<int> can_harvest;
vector<int> vec;

int main()
{
    cin >> n >> k;
    can_harvest.assign(n + 1, 0);
    vec.assign(n + 1, 0);
    for (int i=1; i <= n; i++) {
        cin >> can_harvest[i];
        vec[i] = can_harvest[i] + vec[i - 1];
        if (vec[i] >= k && can_harvest[i]) {
            ans += vec[i] - k + 1;
        }
    }
    cout << ans << '\n';
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms500 KiB
3Accepted0/018ms1076 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted3/31ms316 KiB
8Accepted3/31ms348 KiB
9Accepted3/31ms316 KiB
10Accepted2/21ms316 KiB
11Accepted3/31ms316 KiB
12Accepted2/21ms316 KiB
13Accepted3/31ms392 KiB
14Accepted2/217ms1144 KiB
15Accepted2/217ms1164 KiB
16Accepted3/318ms1172 KiB
17Accepted3/317ms1168 KiB
18Accepted3/318ms1196 KiB
19Accepted3/318ms1188 KiB
20Accepted3/318ms1192 KiB
21Accepted3/318ms1196 KiB
22Accepted3/318ms1260 KiB