4844 2023. 03. 31 20:29:35 Ablablabla Inverzió cpp17 Elfogadva 50/50 192ms 11716 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

int main()
{
    int n;
    cin >> n;
    vector<int> indexek(n + 1, 0);
    for(int i = 0; i < n; i++){
        int a;
        cin >> a;
        indexek[a] = i + 1;
    }

    vector<int> dp(n + 1, 0);
    dp[1] = -1;
    bool vanVal = false;
    pii valasz = {0, 0};
    pii kovi = {1, indexek[1]};

    for(int i = 2; i <= n; i++){
        if(kovi.second > indexek[i]){
            dp[i] = kovi.second;
        } else{
            dp[i] = -1;
            kovi.second = indexek[i];
            kovi.first = i;
        }

        if(dp[i] != -1 && valasz.second - valasz.first < dp[i] - indexek[i]){
            valasz.first = indexek[i];
            valasz.second = dp[i];
            vanVal = 1;
        }
    }

    if(vanVal){
        cout << valasz.first << " " << valasz.second << "\n";
    } else{
        cout << "-1\n";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 17ms 2708 KiB
3 Elfogadva 1/1 3ms 2088 KiB
4 Elfogadva 2/2 3ms 2224 KiB
5 Elfogadva 7/7 3ms 2488 KiB
6 Elfogadva 2/2 17ms 3152 KiB
7 Elfogadva 2/2 173ms 10396 KiB
8 Elfogadva 2/2 179ms 10356 KiB
9 Elfogadva 2/2 180ms 10636 KiB
10 Elfogadva 2/2 175ms 10640 KiB
11 Elfogadva 2/2 177ms 10892 KiB
12 Elfogadva 2/2 172ms 10916 KiB
13 Elfogadva 2/2 192ms 10952 KiB
14 Elfogadva 2/2 177ms 10848 KiB
15 Elfogadva 2/2 173ms 10848 KiB
16 Elfogadva 2/2 175ms 11104 KiB
17 Elfogadva 2/2 178ms 11248 KiB
18 Elfogadva 2/2 180ms 11608 KiB
19 Elfogadva 3/3 173ms 11384 KiB
20 Elfogadva 3/3 174ms 11572 KiB
21 Elfogadva 2/2 173ms 11516 KiB
22 Elfogadva 2/2 178ms 11668 KiB
23 Elfogadva 2/2 177ms 11704 KiB
24 Elfogadva 2/2 173ms 11716 KiB