155832025-02-20 17:46:20999Legmesszebbi rossz sorrendű (35 pont)cpp17Elfogadva 35/3559ms2752 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long

const int INF = 1e12;

signed main() {
    int n;cin>>n;
    vector<int> v(n),mx(n);
    deque<int> q;
    for(int i = 0;i<n;i++){
        cin>>v[i];
        if(i==0)mx[0]=v[0];
        else{
            mx[i]=max(mx[i-1],v[i]);
        }
    }
    vector<int> a;
    a=v;
    sort(a.begin(),a.end());
    if(a==v){
        cout<<-1;
        return 0;
    }
    int ans1=0,ans2=0,maxi=-1;;
    for(int i = 1;i<n;i++){
        int l=-1,m,h=i-1;
        while(l<h-1){
            m=(l+h)/2;
            if(mx[m]>v[i]){
                h=m;
            }
            else{
                l=m;//na neeeee 1 oraja debugolok csak azert hogy rajojjek l=h-t irtam l=m helyett, eskuszom megorulok
            }
        }
        if(maxi<i-h){
            maxi=i-h;
            ans1=h;
            ans2=i;
        }
    }
    cout<<ans1+1<<' '<<ans2+1<<endl;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base35/35
1Elfogadva0/01ms508 KiB
2Elfogadva0/057ms2612 KiB
3Elfogadva1/11ms508 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/11ms508 KiB
9Elfogadva1/12ms496 KiB
10Elfogadva1/12ms508 KiB
11Elfogadva1/13ms460 KiB
12Elfogadva2/219ms1332 KiB
13Elfogadva2/223ms1472 KiB
14Elfogadva2/225ms1420 KiB
15Elfogadva2/214ms1016 KiB
16Elfogadva2/225ms1456 KiB
17Elfogadva2/239ms2024 KiB
18Elfogadva2/245ms2100 KiB
19Elfogadva2/250ms2396 KiB
20Elfogadva2/252ms2356 KiB
21Elfogadva2/259ms2740 KiB
22Elfogadva2/257ms2752 KiB
23Elfogadva2/239ms2732 KiB
24Elfogadva2/239ms2612 KiB