72232024-01-03 19:23:03MagyarKendeSZLGFasor (40)cpp17Futási hiba 38/4028ms7636 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);

    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++;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/40
1Elfogadva0/03ms1828 KiB
2Elfogadva0/04ms2196 KiB
3Elfogadva2/23ms2324 KiB
4Elfogadva2/23ms2536 KiB
5Elfogadva2/23ms2744 KiB
6Elfogadva2/23ms2960 KiB
7Elfogadva2/23ms3096 KiB
8Elfogadva2/23ms3188 KiB
9Elfogadva2/24ms3560 KiB
10Elfogadva2/24ms3868 KiB
11Elfogadva2/24ms3624 KiB
12Elfogadva2/23ms3676 KiB
13Elfogadva2/216ms5016 KiB
14Futási hiba0/216ms5772 KiB
15Elfogadva2/225ms7016 KiB
16Elfogadva2/226ms6592 KiB
17Elfogadva2/228ms7068 KiB
18Elfogadva2/228ms6372 KiB
19Elfogadva2/228ms6184 KiB
20Elfogadva2/213ms6236 KiB
21Elfogadva2/225ms7636 KiB
22Elfogadva2/228ms6060 KiB