168362025-05-13 19:52:44SaroltaMihalyÚthasználati díj (75 pont)cpp17Wrong answer 5/7517ms820 KiB
#include <iostream>
#include <vector>

using namespace std;

int main() {
    int n, k;
    cin >> n >> k;

    vector<int> cities;
    for (int i = 0; i < n; ++i) {
        int toll;
        cin >> toll;
        if (toll == 1) {
            cities.push_back(i);
        }
    }

    int m = cities.size();
    if (m < k) {
        cout << 0 << "\n";
        return 0;
    }

    long long result = 0;
    for (int i = 0; i + k - 1 < m; ++i) {
        int left = cities[i];
        int right = cities[i + k - 1];
        int left_options = (i == 0) ? (left + 1) : (left - cities[i - 1]);
        int right_options = (i + k - 1 == m - 1) ? (n - right) : (cities[i + k] - right);
        result += (long long)left_options * right_options;
    }

    cout << result << "\n";
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base5/75
1Wrong answer0/01ms316 KiB
2Accepted0/01ms316 KiB
3Wrong answer0/017ms820 KiB
4Wrong answer0/51ms316 KiB
5Wrong answer0/51ms508 KiB
6Wrong answer0/51ms400 KiB
7Accepted5/51ms316 KiB
8Wrong answer0/51ms512 KiB
9Wrong answer0/51ms316 KiB
10Wrong answer0/51ms508 KiB
11Wrong answer0/51ms316 KiB
12Wrong answer0/51ms508 KiB
13Wrong answer0/51ms316 KiB
14Wrong answer0/517ms716 KiB
15Wrong answer0/517ms656 KiB
16Wrong answer0/517ms656 KiB
17Wrong answer0/517ms820 KiB
18Wrong answer0/517ms708 KiB