Cod sursa(job #2278439)

Utilizator pasoi_stefanPasoi Stefan pasoi_stefan Data 8 noiembrie 2018 01:10:27
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int n,k,dq[500005],v[500005],maxim=(1<<31),x,y;
int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    int s,d;
    s=1; d=0;
    for(int i=1;i<=n;i++){
        while(s<=d && v[dq[d]]>=v[i]) --d;
        dq[++d]=i;
        if(dq[s]==i-k) ++s;
        if(i>=k){
            if(maxim<v[dq[s]]){
                maxim=v[dq[s]];
                x=dq[s]; y=dq[d];
            }
        }
    }
    cout<<x<<' '<<y<<' '<<maxim;
}