251662026-02-18 10:19:33ProgramozoRokaLegmesszebbi rossz sorrendű (35 pont)cpp17Elfogadva 35/3514ms1212 KiB
#include <iostream>
#include<vector>
#include <algorithm>
using namespace std;

#ifdef _WIN32
#define getchar_unlocked _getchar_nolock
#endif

inline int rin() {
	int x = 0;
	int f = 1;
	char ch = getchar_unlocked();

	while (ch < '0' || ch > '9') {
		if (ch == '-') f = -1;
		ch = getchar_unlocked();
	}

	while (ch >= '0' && ch <= '9') {
		x = (x << 3) + (x << 1) + (ch - '0');
		ch = getchar_unlocked();
	}

	return x * f;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);

	int n;
	int maximum = -1, kezdo = 0;

	n=rin();
	vector<int> tomb(n);
	vector<int> seged(n);
	for (int i = 0; i < n; ++i) tomb[i]=rin();
	seged[n - 1] = tomb[n - 1];
	for (int i = n - 2; i >= 0; --i)
	{
		seged[i] = min(tomb[i], seged[i + 1]);
		
	}
	for (int i = 0; i < n; ++i)
	{
		auto it = lower_bound(seged.begin() + i + 1, seged.end(), tomb[i]) - 1;
		int d = it - seged.begin() - i;
		if (d > maximum and d != 0)
		{
			maximum = d;
			kezdo = i + 1;
		}
	}
	if (maximum != -1) cout << kezdo << " " << kezdo + maximum;
	else cout << -1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base35/35
1Elfogadva0/01ms500 KiB
2Elfogadva0/014ms1076 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms500 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/12ms316 KiB
9Elfogadva1/12ms500 KiB
10Elfogadva1/11ms616 KiB
11Elfogadva1/12ms316 KiB
12Elfogadva2/24ms756 KiB
13Elfogadva2/24ms792 KiB
14Elfogadva2/24ms812 KiB
15Elfogadva2/23ms564 KiB
16Elfogadva2/24ms568 KiB
17Elfogadva2/29ms988 KiB
18Elfogadva2/212ms820 KiB
19Elfogadva2/213ms1120 KiB
20Elfogadva2/213ms1144 KiB
21Elfogadva2/214ms1212 KiB
22Elfogadva2/214ms1200 KiB
23Elfogadva2/24ms1100 KiB
24Elfogadva2/24ms1076 KiB