232502026-01-16 19:32:39999Síkság (55)cpp17Elfogadva 55/5537ms1068 KiB
// Source: https://usaco.guide/general/io

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

int main() {
    int n;cin>>n;
    vector<int> v(n);
    array<int, 3> ans;
    ans={0,0,0}; 
    for(int i = 0;i<n;i++){
        cin>>v[i];
    }
    deque<pair<int,int>> dx,dn;
    dx.push_front({v[0],0});
    dn.push_front({v[0],0});
    int j = 0;
    for(int i = 0;i<n;i++){
        if(!dx.empty()&&dx.back().second<i)dx.pop_back();
        if(!dn.empty()&&dn.back().second<i)dn.pop_back();
        while(j<n&&dx.back().first-dn.back().first<2){
            j++;
            if(j==n)break;
            while(!dx.empty()&&dx.front().first<v[j])dx.pop_front();
            while(!dn.empty()&&dn.front().first>v[j])dn.pop_front();
            dx.push_front({v[j],j});
            dn.push_front({v[j],j});
        }
        if(j-i>ans[0]){
            ans={j-i,i+1,j};
            //cout<<i+1<<' '<<j+1<<':'<<mn<<','<<mx<<endl;
        }
    }
    cout<<ans[2]-ans[1]+1<<' '<<ans[1];
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms512 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/34ms316 KiB
11Elfogadva3/33ms324 KiB
12Elfogadva3/33ms436 KiB
13Elfogadva3/335ms748 KiB
14Elfogadva3/321ms1064 KiB
15Elfogadva3/328ms816 KiB
16Elfogadva3/335ms812 KiB
17Elfogadva3/337ms1060 KiB
18Elfogadva3/337ms1068 KiB
19Elfogadva3/337ms820 KiB
20Elfogadva3/337ms812 KiB
21Elfogadva3/318ms760 KiB
22Elfogadva3/329ms972 KiB