234602026-01-23 09:57:49matemakaiVölgy (100 pont)cpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base60/100
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms508 KiB
3Hibás válasz0/51ms508 KiB
4Elfogadva5/51ms316 KiB
5Elfogadva5/51ms388 KiB
6Elfogadva5/51ms316 KiB
7Hibás válasz0/51ms316 KiB
8Elfogadva5/51ms316 KiB
9Elfogadva5/51ms316 KiB
10Elfogadva5/51ms316 KiB
11Elfogadva5/53ms316 KiB
12Hibás válasz0/53ms316 KiB
13Hibás válasz0/54ms360 KiB
14Elfogadva5/54ms316 KiB
15Hibás válasz0/530ms804 KiB
16Hibás válasz0/535ms800 KiB
17Elfogadva5/534ms1052 KiB
18Hibás válasz0/532ms808 KiB
19Hibás válasz0/534ms808 KiB
20Elfogadva5/537ms800 KiB
21Elfogadva5/537ms856 KiB
22Elfogadva5/537ms820 KiB