9153 | 2024. 02. 15 23:05:11 | UVince | Legmesszebbi rossz sorrendű (35 pont) | cpp17 | Elfogadva 35/35 | 23ms | 13616 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
vector<int> v(n);
for (int i = 0; i < n; i++)
{
cin >> v[i];
}
vector<pair<int, int>> m;
int ans = -1;
pair<int, int> ans2 = {0, 0};
for (int i = 0; i < n; i++)
{
if (!m.empty())
{
int l = -1, r = m.size() - 1;
while (l + 1 < r)
{
int cur = (l + r) / 2;
if (m[cur].first <= v[i])
{
l = cur;
}
else
{
r = cur;
}
}
if (m[r].first > v[i])
{
if (i - m[r].second > ans)
{
ans = i - m[r].second;
ans2 = {m[r].second, i};
}
}
}
if (m.empty() || v[i] > m.back().first)
{
m.push_back({v[i], i});
}
}
if (ans == -1)
{
cout << -1;
return 0;
}
cout << ans2.first + 1 << " " << ans2.second + 1;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 35/35 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1828 KiB | |||
2 | Elfogadva | 0/0 | 23ms | 3516 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 3048 KiB | |||
4 | Elfogadva | 1/1 | 3ms | 3104 KiB | |||
5 | Elfogadva | 1/1 | 3ms | 3132 KiB | |||
6 | Elfogadva | 1/1 | 3ms | 3292 KiB | |||
7 | Elfogadva | 1/1 | 2ms | 3384 KiB | |||
8 | Elfogadva | 1/1 | 3ms | 3656 KiB | |||
9 | Elfogadva | 1/1 | 3ms | 3884 KiB | |||
10 | Elfogadva | 1/1 | 3ms | 4224 KiB | |||
11 | Elfogadva | 1/1 | 3ms | 4200 KiB | |||
12 | Elfogadva | 2/2 | 8ms | 4960 KiB | |||
13 | Elfogadva | 2/2 | 9ms | 5248 KiB | |||
14 | Elfogadva | 2/2 | 10ms | 5592 KiB | |||
15 | Elfogadva | 2/2 | 8ms | 5548 KiB | |||
16 | Elfogadva | 2/2 | 10ms | 6384 KiB | |||
17 | Elfogadva | 2/2 | 16ms | 6556 KiB | |||
18 | Elfogadva | 2/2 | 17ms | 7308 KiB | |||
19 | Elfogadva | 2/2 | 19ms | 7836 KiB | |||
20 | Elfogadva | 2/2 | 20ms | 8684 KiB | |||
21 | Elfogadva | 2/2 | 23ms | 9632 KiB | |||
22 | Elfogadva | 2/2 | 23ms | 10248 KiB | |||
23 | Elfogadva | 2/2 | 17ms | 12912 KiB | |||
24 | Elfogadva | 2/2 | 17ms | 13616 KiB |