234602026-01-23 09:57:49matemakaiVölgy (100 pont)cpp17Wrong answer 60/10037ms1052 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];
	}

	stack<int> s;

	int ans = -1;

	for (int i = 0; i < n; ++i) {
		while ((s.size() > 1) && v[s.top()] < v[i]) {
			s.pop();
		}
		if (!s.empty() && (i - s.top()) >= 3) {
			ans = max(ans, i - s.top());
		}
		while (!s.empty() && v[s.top()] < v[i]) {
			s.pop();
		}
		if (s.empty() || (!s.empty() && v[s.top()] > v[i])) {
			s.push(i);
		}
	}

	cout << ans << endl;
}
SubtaskSumTestVerdictTimeMemory
base60/100
1Accepted0/01ms316 KiB
2Accepted0/01ms508 KiB
3Wrong answer0/51ms508 KiB
4Accepted5/51ms316 KiB
5Accepted5/51ms388 KiB
6Accepted5/51ms316 KiB
7Wrong answer0/51ms316 KiB
8Accepted5/51ms316 KiB
9Accepted5/51ms316 KiB
10Accepted5/51ms316 KiB
11Accepted5/53ms316 KiB
12Wrong answer0/53ms316 KiB
13Wrong answer0/54ms360 KiB
14Accepted5/54ms316 KiB
15Wrong answer0/530ms804 KiB
16Wrong answer0/535ms800 KiB
17Accepted5/534ms1052 KiB
18Wrong answer0/532ms808 KiB
19Wrong answer0/534ms808 KiB
20Accepted5/537ms800 KiB
21Accepted5/537ms856 KiB
22Accepted5/537ms820 KiB