135782025-01-08 10:14:57AGergoInverziócpp17Időlimit túllépés 16/50600ms2548 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    cin.tie(0);
    iostream::sync_with_stdio(0);
    int maxlen;
    bool works = false;
    cin >> maxlen;
    vector<int> sor(maxlen);

    for(int i = 0;i < maxlen;i++)
    {
        cin >> sor[i];
    }
    for(int i = 0;i < maxlen;i++) //check hogy sorban van-e inverzio
    {
        if(sor[i] != i+1)
        {
            works = true;
            break;
        }
    }

    int l = 0, r = maxlen-1, lenPB = -1,smallest = 500001,PBr,PBl;
    if(works)
    {
        while(r>lenPB)
        {
            if(r-l<lenPB || sor[r] >smallest)
            {
                r--;
                l=0;
            }
            else if(sor[l]>sor[r])
            {
                lenPB = r-l;
                PBr = r;
                PBl = l;
                smallest = sor[r];
                r--;
                l=0;
            }
            else l++;

        }

        cout << PBl+1 << " " << PBr+1;
    }
    else
    {
        cout << "-1";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base16/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/0375ms752 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva7/71ms316 KiB
6Elfogadva2/246ms564 KiB
7Időlimit túllépés0/2600ms2248 KiB
8Időlimit túllépés0/2600ms2356 KiB
9Elfogadva2/264ms2356 KiB
10Időlimit túllépés0/2583ms2356 KiB
11Időlimit túllépés0/2578ms2356 KiB
12Időlimit túllépés0/2592ms2100 KiB
13Időlimit túllépés0/2600ms2356 KiB
14Időlimit túllépés0/2583ms2548 KiB
15Időlimit túllépés0/2587ms2356 KiB
16Időlimit túllépés0/2587ms2356 KiB
17Időlimit túllépés0/2600ms2356 KiB
18Időlimit túllépés0/2578ms2356 KiB
19Időlimit túllépés0/3586ms2356 KiB
20Időlimit túllépés0/3591ms2356 KiB
21Időlimit túllépés0/2600ms2356 KiB
22Időlimit túllépés0/2589ms2356 KiB
23Időlimit túllépés0/2589ms2356 KiB
24Elfogadva2/259ms2356 KiB