197562025-12-21 23:19:33AncsaLegmesszebbi rossz sorrendű (35 pont)cpp17Hibás válasz 25/3550ms1964 KiB
#include <bits/stdc++.h>
#include<queue>

using namespace std;

bool rendez(pair<int, int> a, pair<int, int> b )
{
    return a.first>b.first;
}

int main()
{
    int utolso,eleje=-1,vege=-1,index;
    int n;
    cin>>n;
    utolso=n-1;
    bool volte[n];
    vector<int> a(n);
    vector<pair<int, int>> seged;
    for(int i=0;i<n;i++)
    {
        cin>>a.at(i);
        volte[i]=false;
        seged.push_back(make_pair(a[i],i));
    }

    sort(seged.begin(), seged.end(), rendez);

    for(pair<int, int> x: seged)
    {
        index=x.second;
        volte[index]=true;
        if(index!=utolso && utolso-index>=vege-eleje)
        {
            eleje=index;
            vege=utolso;
        }
        while(volte[utolso])
            utolso--;

    }
    if(eleje==-1)
    {
        cout<<-1;
        return 0;
    }
    cout<<eleje+1<<" "<<vege+1;
  return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base25/35
1Elfogadva0/01ms316 KiB
2Elfogadva0/050ms1964 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/11ms408 KiB
9Elfogadva1/12ms508 KiB
10Elfogadva1/12ms316 KiB
11Elfogadva1/13ms316 KiB
12Hibás válasz0/219ms1148 KiB
13Hibás válasz0/221ms1220 KiB
14Hibás válasz0/224ms1108 KiB
15Hibás válasz0/214ms792 KiB
16Hibás válasz0/224ms1200 KiB
17Elfogadva2/235ms1704 KiB
18Elfogadva2/241ms1928 KiB
19Elfogadva2/245ms1920 KiB
20Elfogadva2/246ms1964 KiB
21Elfogadva2/250ms1784 KiB
22Elfogadva2/250ms1960 KiB
23Elfogadva2/239ms1908 KiB
24Elfogadva2/239ms1964 KiB