254352026-02-20 07:46:13SzeredaiNatanaelFasor (40)cpp17Accepted 40/4027ms1588 KiB
#include <iostream>
#include <vector>
#include <deque>

using namespace std;

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

	int n, k; cin >> n >> k;
	vector<int> v(n + 1);
	for (int i = 1; i <= n; ++i)
		cin >> v[i];

	deque<int> dq;
	
	int r = 0, l, nr;
	for (int i = 1; i <= n; ++i) {
		l = max(1, i - k);
		nr = min(n, i + k);

		while (r < nr) {
			++r;

			while (!dq.empty() && v[dq.back()] < v[r]) {
				dq.pop_back();
			}
			dq.push_back(r);
		}

		while (!dq.empty() && dq.front() < l) {
			dq.pop_front();
		}

		if (!dq.empty() && v[dq.front()] == v[i]) {
			cout << i << "\n";
			return 0;
		}
	}

	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/21ms508 KiB
8Accepted2/21ms316 KiB
9Accepted2/22ms316 KiB
10Accepted2/22ms396 KiB
11Accepted2/22ms316 KiB
12Accepted2/22ms316 KiB
13Accepted2/214ms828 KiB
14Accepted2/213ms1088 KiB
15Accepted2/221ms1332 KiB
16Accepted2/224ms1224 KiB
17Accepted2/227ms1472 KiB
18Accepted2/226ms1220 KiB
19Accepted2/226ms1220 KiB
20Accepted2/29ms820 KiB
21Accepted2/223ms1588 KiB
22Accepted2/227ms1076 KiB