2964 2023. 02. 06 10:15:09 tamasmark Inverzió cpp17 Elfogadva 50/50 259ms 12104 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct adat
{
    int hely, poz;
};

int i, n, mini,kezd,veg;

bool comp(adat a, adat b)
{
    return a.poz > b.poz;
}

int main()
{
    cin >> n;

    vector <adat> x(n + 1);

    for (i = 1; i <= n; ++i)
    {
        cin >> x[i].poz;
        x[i].hely = i;
    }

    sort(x.begin() + 1, x.end(), comp);

    mini = x[1].hely;
    for (i = 2; i <= n; ++i)
    {
        if (x[i].hely < mini) mini = x[i].hely;
        else if (x[i].hely - mini > veg - kezd)
        {
            veg = x[i].hely;
            kezd = mini;
        }
    }

    if (veg - kezd == 0) cout << -1;
    else cout << kezd << " " << veg;

    return 0;
}
/*
5
4 3 5 1 2
*/
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1808 KiB
2 Elfogadva 0/0 20ms 2768 KiB
3 Elfogadva 1/1 3ms 2276 KiB
4 Elfogadva 2/2 3ms 2620 KiB
5 Elfogadva 7/7 3ms 2492 KiB
6 Elfogadva 2/2 24ms 3316 KiB
7 Elfogadva 2/2 207ms 10156 KiB
8 Elfogadva 2/2 246ms 10164 KiB
9 Elfogadva 2/2 247ms 10416 KiB
10 Elfogadva 2/2 244ms 10792 KiB
11 Elfogadva 2/2 244ms 10972 KiB
12 Elfogadva 2/2 239ms 11056 KiB
13 Elfogadva 2/2 259ms 11272 KiB
14 Elfogadva 2/2 244ms 11220 KiB
15 Elfogadva 2/2 207ms 11480 KiB
16 Elfogadva 2/2 250ms 11632 KiB
17 Elfogadva 2/2 245ms 11620 KiB
18 Elfogadva 2/2 243ms 11652 KiB
19 Elfogadva 3/3 204ms 11648 KiB
20 Elfogadva 3/3 211ms 11648 KiB
21 Elfogadva 2/2 208ms 11620 KiB
22 Elfogadva 2/2 244ms 11872 KiB
23 Elfogadva 2/2 244ms 12104 KiB
24 Elfogadva 2/2 196ms 12044 KiB