234962026-01-23 19:56:07matemakaiSíkság (55)cpp17Accepted 55/5539ms1364 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;
	cin >> n;
	vector<int> v(n);
	for (int i = 0; i < n; ++i) {
		cin >> v[i];
	}
	int l = 0, r = 0;
	unordered_map<int, int> cnt;
	set<int> s = {v[0]};
	++cnt[v[0]];

	int ans_l = 0, ans_r = 0;

	while (l < n) {

		bool valid = (s.size() <= 2) && (abs(*(s.begin()) - *(s.rbegin())) <= 1);

		if (valid) {
			if (r - l > ans_r - ans_l) {
				ans_l = l;
				ans_r = r;
			}
		}

		if (valid && r < n - 1) {
			++r;
			++cnt[v[r]];
			s.insert(v[r]);
		} else {
			--cnt[v[l]];
			if (cnt[v[l]] == 0) {
				s.erase(v[l]);
			}
			++l;	
		}
	}

	cout << ans_r - ans_l + 1 << " " << ans_l + 1 << endl;
}
SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/01ms316 KiB
2Accepted0/04ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted3/31ms316 KiB
8Accepted2/21ms508 KiB
9Accepted3/32ms316 KiB
10Accepted3/34ms316 KiB
11Accepted3/34ms508 KiB
12Accepted3/34ms316 KiB
13Accepted3/339ms1364 KiB
14Accepted3/324ms800 KiB
15Accepted3/330ms804 KiB
16Accepted3/337ms804 KiB
17Accepted3/339ms800 KiB
18Accepted3/339ms800 KiB
19Accepted3/339ms800 KiB
20Accepted3/339ms796 KiB
21Accepted3/320ms564 KiB
22Accepted3/330ms708 KiB