133392025-01-07 15:54:54BucsMateLegmesszebbi rossz sorrendű (35 pont)cpp17Accepted 35/3539ms1208 KiB
#include <iostream>

using namespace std;

int poz[200001] = {};
int elemek[100001] = {};

int main()
{
    int N;
    cin >> N;
    int temp;
    for(int i = 1; i <= N; i++){
        cin >> temp;
        temp += 100000;
        elemek[i] = temp;
        if(poz[temp] == 0){
            poz[temp] = i;
        }
    }
    int index = N;
    int sol_index1 = 0, sol_index2 = 0;
    for(int num = 200000; num >= 0; num--){
        if(poz[num] == 0){
            continue;
        }
        while(elemek[index] >= num && index > 0){
            index--;
        }
        if(index - poz[num] >= sol_index2 - sol_index1){
            sol_index1 = poz[num];
            sol_index2 = index;
        }
    }
    if(sol_index1 == 0){
        cout << -1;
    }
    else{
        cout << sol_index1 << " " << sol_index2;
    }

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base35/35
1Accepted0/01ms316 KiB
2Accepted0/039ms1076 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted1/11ms316 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms508 KiB
8Accepted1/12ms460 KiB
9Accepted1/12ms316 KiB
10Accepted1/12ms316 KiB
11Accepted1/13ms820 KiB
12Accepted2/216ms480 KiB
13Accepted2/217ms600 KiB
14Accepted2/219ms564 KiB
15Accepted2/212ms556 KiB
16Accepted2/219ms780 KiB
17Accepted2/228ms768 KiB
18Accepted2/230ms1076 KiB
19Accepted2/234ms1064 KiB
20Accepted2/235ms908 KiB
21Accepted2/239ms1208 KiB
22Accepted2/239ms1096 KiB
23Accepted2/234ms1156 KiB
24Accepted2/235ms1076 KiB