225992026-01-15 11:49:50PappMatyasInverziócpp17Időlimit túllépés 43/50582ms2548 KiB
#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    cin >> n;
    vector<int> v(n);

    for (int i = 0; i < n; i++)
    {
        cin >> v[i];
    }
    for (int i = n - 1; i >= 0; i--)
    {
        if (i + 1 == v[i])
        {
            v.pop_back();
        }
        else
        {
            break;
        }
    }

    int end = v.size();
    int lmaxi = 0;
    int lpos = -1;
    for (int i = 0; i < end; i++)
    {
        if (v[i] > lmaxi)
        {
            lpos = i;
            lmaxi = v[i];
        }
    }
    int b = -1, e = -1;
    int maxLength = 0;
    if (lpos != -1)
    {
        b = lpos + 1;
        e = end;
        maxLength = e - b;
    }
    
    int maxi = -1;
    
    bool pastSorted = false;
    for (int i = 0; i < end - maxLength - 1; i++)
    {
        if (v[i] < maxi)
        {
            continue;
        }
        if (!pastSorted)
        {
            if (v[i] == i + 1)
            {
                continue;
            }
            else
            {
                pastSorted = true;
            }
        }
        for (int j = end - 1; j > i + maxLength; j--)
        {
            if (v[i] > v[j])
            {
                if (j - i > e - b)
                {
                    b = i + 1;
                    e = j + 1;
                    maxLength = e - b;
                    break;
                }

            }
        }
        maxi = max(maxi, v[i]);
    }
    if (e != -1)
    {
        cout << b << " " << e;
    }
    else
    {
        cout << -1;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/016ms564 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva2/21ms508 KiB
5Elfogadva7/71ms344 KiB
6Elfogadva2/27ms564 KiB
7Időlimit túllépés0/2556ms2356 KiB
8Elfogadva2/264ms2356 KiB
9Elfogadva2/263ms2356 KiB
10Elfogadva2/263ms2356 KiB
11Elfogadva2/265ms2356 KiB
12Elfogadva2/261ms2100 KiB
13Elfogadva2/267ms2356 KiB
14Elfogadva2/264ms2356 KiB
15Elfogadva2/2338ms2356 KiB
16Elfogadva2/264ms2548 KiB
17Elfogadva2/261ms2356 KiB
18Elfogadva2/265ms2548 KiB
19Elfogadva3/3363ms2356 KiB
20Időlimit túllépés0/3512ms2356 KiB
21Időlimit túllépés0/2582ms2356 KiB
22Elfogadva2/264ms2356 KiB
23Elfogadva2/263ms2356 KiB
24Elfogadva2/259ms2356 KiB