1531 2022. 11. 22 12:28:54 TomaSajt Fasor (40) cpp14 Elfogadva 40/40 28ms 8868 KiB
#include <bits/stdc++.h>
#define speed ios::sync_with_stdio(0);cin.tie(0)
using namespace std;

int main() {
    speed;
    int n, k;
    cin >> n >> k;
    int l = 2 * k + 1;
    int m = n + 2 * k;
    vector<int> v(m, INT_MIN);
    for (int i = k; i < n + k; i++) cin >> v[i];
    deque<int> dq;
    vector<int> res(m - l + 1);
    for (int i = 0; i < m; i++) {
        while (!dq.empty() && i - dq.front() >= l) dq.pop_front();
        while (!dq.empty() && v[dq.back()] <= v[i]) dq.pop_back();
        dq.push_back(i);
        if (i - l + 1 >= 0) res[i - l + 1] = v[dq.front()];
    }
    for (int i = 0; i < n; i++) {
        if (v[i + k] >= res[i]) {
            cout << i + 1;
            return 0;
        }
    }
    cout << "-1";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 3ms 2228 KiB
3 Elfogadva 2/2 2ms 2224 KiB
4 Elfogadva 2/2 2ms 2424 KiB
5 Elfogadva 2/2 2ms 2632 KiB
6 Elfogadva 2/2 2ms 2980 KiB
7 Elfogadva 2/2 2ms 3060 KiB
8 Elfogadva 2/2 2ms 3152 KiB
9 Elfogadva 2/2 3ms 3472 KiB
10 Elfogadva 2/2 3ms 3424 KiB
11 Elfogadva 2/2 3ms 3828 KiB
12 Elfogadva 2/2 3ms 3752 KiB
13 Elfogadva 2/2 14ms 5604 KiB
14 Elfogadva 2/2 17ms 8260 KiB
15 Elfogadva 2/2 23ms 8384 KiB
16 Elfogadva 2/2 25ms 7944 KiB
17 Elfogadva 2/2 27ms 8592 KiB
18 Elfogadva 2/2 26ms 7648 KiB
19 Elfogadva 2/2 25ms 7240 KiB
20 Elfogadva 2/2 10ms 6692 KiB
21 Elfogadva 2/2 24ms 8868 KiB
22 Elfogadva 2/2 28ms 8124 KiB