201932026-01-04 16:40:53hunzombiVirágos rét (50 pont)cpp17Wrong answer 42/5019ms1200 KiB
#include <bits/stdc++.h>
using namespace std;

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

int 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
base42/50
1Accepted0/01ms316 KiB
2Accepted0/01ms500 KiB
3Accepted0/018ms1076 KiB
4Accepted2/21ms500 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted3/31ms316 KiB
8Accepted3/31ms316 KiB
9Accepted3/31ms316 KiB
10Accepted2/21ms316 KiB
11Accepted3/31ms316 KiB
12Accepted2/21ms316 KiB
13Accepted3/31ms316 KiB
14Accepted2/217ms1148 KiB
15Wrong answer0/217ms1168 KiB
16Accepted3/318ms1168 KiB
17Accepted3/318ms1160 KiB
18Wrong answer0/319ms1076 KiB
19Accepted3/318ms1196 KiB
20Accepted3/319ms1196 KiB
21Accepted3/319ms1200 KiB
22Wrong answer0/318ms1076 KiB