75 2021. 01. 10 11:44:35 Kevinke12 Inverzió cpp14 Időlimit túllépés 44/50 575ms 12104 KiB
#include <iostream>
#include <vector>
using namespace std;

int dp[500005];
int hely[500005];
int N, kezd=-1, veg=-200000, be;

int Melyik(int szam)
{
    for(int i = szam+1; i <= N; ++i)
    {
        if(dp[i]!=0)
            return i;
    }
    return szam;
}

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

    cin >> N;
    for(int i = 0; i < N; ++i)
    {
        cin >> be;
        hely[be]=i;

        dp[be]=be; //onmaga
        dp[be] = dp[Melyik(be)];

        if(abs(hely[be]-hely[dp[be]]) > veg-kezd)
        {
            kezd=min(hely[be], hely[dp[be]]);
            veg=max(hely[be], hely[dp[be]]);
        }
    }
    if((kezd==-1) || (kezd==veg))
        cout << "-1\n";
    else
        cout << kezd+1 << " " << veg+1 << "\n";
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 44/50
1 Elfogadva 0/0 2ms 1828 KiB
2 Elfogadva 0/0 17ms 2952 KiB
3 Elfogadva 1/1 1ms 2200 KiB
4 Elfogadva 2/2 2ms 2216 KiB
5 Elfogadva 7/7 2ms 2220 KiB
6 Elfogadva 2/2 8ms 3312 KiB
7 Időlimit túllépés 0/2 541ms 4780 KiB
8 Elfogadva 2/2 98ms 12096 KiB
9 Elfogadva 2/2 120ms 12100 KiB
10 Elfogadva 2/2 79ms 12104 KiB
11 Elfogadva 2/2 89ms 12088 KiB
12 Elfogadva 2/2 90ms 11952 KiB
13 Elfogadva 2/2 85ms 12088 KiB
14 Elfogadva 2/2 90ms 12088 KiB
15 Elfogadva 2/2 402ms 11992 KiB
16 Elfogadva 2/2 90ms 12008 KiB
17 Elfogadva 2/2 90ms 12096 KiB
18 Elfogadva 2/2 103ms 12096 KiB
19 Elfogadva 3/3 402ms 11984 KiB
20 Elfogadva 3/3 493ms 12000 KiB
21 Időlimit túllépés 0/2 560ms 11996 KiB
22 Elfogadva 2/2 107ms 12096 KiB
23 Elfogadva 2/2 111ms 12096 KiB
24 Időlimit túllépés 0/2 575ms 3368 KiB