201922026-01-04 16:19:25hunzombiVirágos rét (50 pont)cpp17Hibás válasz 42/5019ms1196 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base42/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms508 KiB
3Elfogadva0/018ms1076 KiB
4Elfogadva2/21ms500 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms348 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva3/31ms316 KiB
14Elfogadva2/217ms1152 KiB
15Hibás válasz0/218ms1172 KiB
16Elfogadva3/318ms1180 KiB
17Elfogadva3/318ms1156 KiB
18Hibás válasz0/319ms1196 KiB
19Elfogadva3/318ms1076 KiB
20Elfogadva3/318ms1076 KiB
21Elfogadva3/318ms1020 KiB
22Hibás válasz0/318ms1196 KiB