205132026-01-07 15:38:30pirosmacska10Fasor (40)cpp17Accepted 40/4029ms1588 KiB
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <climits>
using namespace std;

using ll = long long;
const int MOD = 1e9 + 7;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, k;
    cin >> n >> k;
    vector<int> nums(n);
    for(int i = 0; i < n; i++) {
        cin >> nums[i];
    }

    vector<bool> can_prefix(n, 0);
    deque<int> dq;
    for(int i = 0; i < n; i++) {
        if(dq.empty()) can_prefix[i] = 1;
        else if(nums[dq.front()] <= nums[i]) can_prefix[i] = 1;
        while(!dq.empty() && nums[dq.back()] <= nums[i]) {
            dq.pop_back();
        }
        dq.push_back(i);
        if(dq.front() < i - k) {
            dq.pop_front();
        }
    }
    vector<bool> can_suffix(n, 0);
    dq.clear();
    for(int i = n-1; i >= 0; i--) {
        if(dq.empty()) can_suffix[i] = 1;
        else if(nums[dq.back()] <= nums[i]) can_suffix[i] = 1;
        while(!dq.empty() && nums[dq.front()] < nums[i]) {
            dq.pop_front();
        }
        dq.push_front(i);
        if(dq.back() >= i + k) {
            dq.pop_back();
        }
    }
    bool can = 0;
    for(int i = 0; i < n; i++) {
        if(can_prefix[i] && can_suffix[i]) {
            cout << i+1 << "\n";
            can = 1;
            break;
        }
    }
    if(!can) cout << "-1\n";
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/02ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/22ms316 KiB
10Accepted2/23ms464 KiB
11Accepted2/22ms316 KiB
12Accepted2/22ms500 KiB
13Accepted2/213ms1004 KiB
14Accepted2/213ms1092 KiB
15Accepted2/221ms1476 KiB
16Accepted2/223ms1472 KiB
17Accepted2/226ms1588 KiB
18Accepted2/225ms1220 KiB
19Accepted2/226ms1076 KiB
20Accepted2/29ms820 KiB
21Accepted2/221ms1472 KiB
22Accepted2/229ms1216 KiB