143242025-01-10 15:34:13sarminVölgy (100 pont)cpp17Hibás válasz 55/10045ms1268 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {

	int n; cin >> n;
	vector<pair<int, int>> a(n);
	for (int i = 0; i < n; i++) {
		cin >> a[i].first;
		a[i].second = i;
	}
	sort(a.begin(), a.end());
	auto ut = a[n - 1], utca = a[n - 2];
	int mn = INT_MAX;
	for (int i = min(ut.second, utca.second) + 1; i < max(ut.second, utca.second); i++) {
		mn = min(mn, a[i].first);
	}

	int mx = 0;
	vector<int> maxok;
	for (int i = 0; i < n; i++) {
		if (a[i].first == ut.first) maxok.push_back(a[i].second);
	}
	for (int i = 1; i < (int) maxok.size(); i++) {
		if (maxok[i] - maxok[i - 1] > mx) {
			mx = maxok[i] - maxok[i - 1];
		}
	}

	if (maxok.size() > 1 && mx >= 2) {
		cout << mx;
		return 0;
	}
	
	if (n < 3 || (mn >= ut.first && mn >= utca.first )) {
		cout << -1;
		return 0;
	}
	cout << abs(ut.second - utca.second);
	
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/100
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva5/51ms500 KiB
4Elfogadva5/51ms508 KiB
5Elfogadva5/51ms316 KiB
6Elfogadva5/51ms316 KiB
7Elfogadva5/51ms316 KiB
8Hibás válasz0/51ms316 KiB
9Elfogadva5/51ms316 KiB
10Hibás válasz0/51ms316 KiB
11Hibás válasz0/53ms316 KiB
12Elfogadva5/54ms476 KiB
13Hibás válasz0/54ms480 KiB
14Hibás válasz0/54ms316 KiB
15Elfogadva5/543ms1192 KiB
16Hibás válasz0/545ms1076 KiB
17Elfogadva5/535ms980 KiB
18Elfogadva5/539ms1076 KiB
19Elfogadva5/541ms1268 KiB
20Hibás válasz0/541ms1076 KiB
21Hibás válasz0/541ms1192 KiB
22Hibás válasz0/541ms1076 KiB