7226 2024. 01. 03 19:28:38 MagyarKendeSZLG Fasor (40) cpp17 Elfogadva 40/40 28ms 7000 KiB
#include <bits/stdc++.h>

#define speed cin.tie(0); ios::sync_with_stdio(0)
#define cinv(v) for (auto& e : v) cin >> e;
#define all(v) v.begin(), v.end()
#define has(s, e) s.count(e)

using namespace std;
using ll = long long;
using point = array<int, 2>;

int main() {
    speed;

    int N, K;
    cin >> N >> K;
    vector<int> v(N);
    cinv(v);

    if (N <= K + 1) {
        cout << max_element(all(v)) - v.begin() + 1;
        exit(0);
    }

    deque<point> q;
    
    for (int i = 0; i < K + 1; i++) {

        while (!q.empty() && q.back()[0] < v[i]) {
            q.pop_back();
        }

        q.push_back({v[i], i});
    }

    if (q.front()[0] == v[0]) {
        cout << 1;
        exit(0);
    }

    int bagoly = 1, left = 1 - K, right = 1 + K;

    while (bagoly < N) {

        if (!q.empty() && q.front()[1] < left) {
            q.pop_front();
        }

        if (right < N) {
            while (!q.empty() && q.back()[0] < v[right]) {
                q.pop_back();
            }

            q.push_back({v[right], right});
        }

        if (!q.empty() && q.front()[0] == v[bagoly]) {
            cout << bagoly + 1;
            exit(0);
        }

        left++;
        bagoly++;
        right++;
    }

    cout << -1;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1976 KiB
2 Elfogadva 0/0 4ms 2072 KiB
3 Elfogadva 2/2 3ms 2196 KiB
4 Elfogadva 2/2 3ms 2444 KiB
5 Elfogadva 2/2 2ms 2504 KiB
6 Elfogadva 2/2 3ms 2620 KiB
7 Elfogadva 2/2 3ms 2864 KiB
8 Elfogadva 2/2 3ms 3004 KiB
9 Elfogadva 2/2 4ms 3092 KiB
10 Elfogadva 2/2 4ms 3408 KiB
11 Elfogadva 2/2 4ms 3364 KiB
12 Elfogadva 2/2 3ms 3624 KiB
13 Elfogadva 2/2 16ms 4732 KiB
14 Elfogadva 2/2 14ms 4516 KiB
15 Elfogadva 2/2 24ms 6548 KiB
16 Elfogadva 2/2 26ms 6244 KiB
17 Elfogadva 2/2 28ms 6588 KiB
18 Elfogadva 2/2 28ms 5796 KiB
19 Elfogadva 2/2 28ms 5604 KiB
20 Elfogadva 2/2 12ms 5508 KiB
21 Elfogadva 2/2 26ms 7000 KiB
22 Elfogadva 2/2 28ms 5860 KiB