29642023-02-06 10:15:09tamasmarkInverziócpp17Elfogadva 50/50259ms12104 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1808 KiB
2Elfogadva0/020ms2768 KiB
3Elfogadva1/13ms2276 KiB
4Elfogadva2/23ms2620 KiB
5Elfogadva7/73ms2492 KiB
6Elfogadva2/224ms3316 KiB
7Elfogadva2/2207ms10156 KiB
8Elfogadva2/2246ms10164 KiB
9Elfogadva2/2247ms10416 KiB
10Elfogadva2/2244ms10792 KiB
11Elfogadva2/2244ms10972 KiB
12Elfogadva2/2239ms11056 KiB
13Elfogadva2/2259ms11272 KiB
14Elfogadva2/2244ms11220 KiB
15Elfogadva2/2207ms11480 KiB
16Elfogadva2/2250ms11632 KiB
17Elfogadva2/2245ms11620 KiB
18Elfogadva2/2243ms11652 KiB
19Elfogadva3/3204ms11648 KiB
20Elfogadva3/3211ms11648 KiB
21Elfogadva2/2208ms11620 KiB
22Elfogadva2/2244ms11872 KiB
23Elfogadva2/2244ms12104 KiB
24Elfogadva2/2196ms12044 KiB