144472025-01-10 20:02:55KateTaylorInverziócpp17Accepted 50/50194ms2612 KiB
#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n;
	cin >> n;
	vector<int> best(n, -1);
	int bb = 0, be = 0;
	for (int i = 0; i < n; i++) {
		int x;
		cin >> x;
		if (best[x - 1] != -1) {
			if (i - best[x - 1] > be - bb) {
				bb = best[x - 1]; be = i;
			}
		}
		else {
			for (int j = x - 2; j >= 0; j--) {
				if (best[j] == -1) best[j] = i;
				else break;
			}
		}
	}
	if (bb == be) {
		cout << -1;
		return 0;
	}
	cout << bb + 1 << " " << be + 1;
	return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/017ms564 KiB
3Accepted1/11ms316 KiB
4Accepted2/21ms316 KiB
5Accepted7/71ms316 KiB
6Accepted2/217ms480 KiB
7Accepted2/2179ms2368 KiB
8Accepted2/2181ms2124 KiB
9Accepted2/2182ms2356 KiB
10Accepted2/2179ms2356 KiB
11Accepted2/2180ms2360 KiB
12Accepted2/2177ms2100 KiB
13Accepted2/2180ms2364 KiB
14Accepted2/2180ms2372 KiB
15Accepted2/2180ms2356 KiB
16Accepted2/2185ms2612 KiB
17Accepted2/2180ms2364 KiB
18Accepted2/2181ms2340 KiB
19Accepted3/3179ms2372 KiB
20Accepted3/3179ms2356 KiB
21Accepted2/2179ms2364 KiB
22Accepted2/2180ms2356 KiB
23Accepted2/2180ms2356 KiB
24Accepted2/2194ms2356 KiB