234962026-01-23 19:56:07matemakaiSíkság (55)cpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva2/21ms508 KiB
9Elfogadva3/32ms316 KiB
10Elfogadva3/34ms316 KiB
11Elfogadva3/34ms508 KiB
12Elfogadva3/34ms316 KiB
13Elfogadva3/339ms1364 KiB
14Elfogadva3/324ms800 KiB
15Elfogadva3/330ms804 KiB
16Elfogadva3/337ms804 KiB
17Elfogadva3/339ms800 KiB
18Elfogadva3/339ms800 KiB
19Elfogadva3/339ms800 KiB
20Elfogadva3/339ms796 KiB
21Elfogadva3/320ms564 KiB
22Elfogadva3/330ms708 KiB