168362025-05-13 19:52:44SaroltaMihalyÚthasználati díj (75 pont)cpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base5/75
1Hibás válasz0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Hibás válasz0/017ms820 KiB
4Hibás válasz0/51ms316 KiB
5Hibás válasz0/51ms508 KiB
6Hibás válasz0/51ms400 KiB
7Elfogadva5/51ms316 KiB
8Hibás válasz0/51ms512 KiB
9Hibás válasz0/51ms316 KiB
10Hibás válasz0/51ms508 KiB
11Hibás válasz0/51ms316 KiB
12Hibás válasz0/51ms508 KiB
13Hibás válasz0/51ms316 KiB
14Hibás válasz0/517ms716 KiB
15Hibás válasz0/517ms656 KiB
16Hibás válasz0/517ms656 KiB
17Hibás válasz0/517ms820 KiB
18Hibás válasz0/517ms708 KiB