141232025-01-09 20:41:01EsVagyHőségriadó (50 pont)cpp17Hibás válasz 16/5023ms764 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n, k, l, f;
    cin >> n >> k >> l >> f;
    vector<int> temps(n);
    for (int i = 0; i < n; i++) {
        int next;
        cin >> temps[i];
    }

    int start = f * k;
    int end = f * l;
    int start_sum = 0, end_sum = 0;
    for (int i = 0; i < k; i++) {
        start_sum += temps[i];
        if (i >= k - l)end_sum += temps[i];
    }

    int ans = 0;
    bool b = start_sum > start;
    if (b) {
        ans++;
    }

    for (int i = k; i < n; i++) {
        start_sum -= temps[i - k];
        start_sum += temps[i];
        end_sum += temps[i];
        if (i >= l) {
            end_sum -= temps[i - l];
            if (b && end_sum < end) {
                b = false;
                continue;
            }
        }
        if (!b && start_sum > start) {
            b = true;
            ans++;
        }
    }

    cout << ans << "\n";

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base16/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/023ms564 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms388 KiB
6Elfogadva2/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/49ms572 KiB
10Hibás válasz0/412ms564 KiB
11Hibás válasz0/414ms756 KiB
12Hibás válasz0/412ms568 KiB
13Hibás válasz0/418ms564 KiB
14Hibás válasz0/43ms376 KiB
15Hibás válasz0/421ms568 KiB
16Hibás válasz0/421ms764 KiB
17Hibás válasz0/421ms564 KiB