Cod sursa(job #2281298)

Utilizator danielsociuSociu Daniel danielsociu Data 11 noiembrie 2018 21:36:31
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
std::ifstream cin("secventa.in");
std::ofstream cout("secventa.out");
#define maxn 500005
int v[maxn],dequ[maxn],n,k;

int main()
{
    int fr=1,bk=0,ind=0,sol=-55555,i=1;
    cin>>n>>k;
    for(i=1;i<=n;i++)
        cin>>v[i];
    for(i=1;i<=n;i++){
        while(fr<=bk&&v[i]<v[dequ[bk]])
            bk--;
        dequ[++bk]=i;
        if(i-k==dequ[fr])
            fr++;
        if(i>=k&&sol<v[dequ[fr]])
            sol=v[dequ[fr]],ind=dequ[bk]-k+1;
    }
    cout<<ind<<' '<<ind+k-1<<' '<<sol;
    return 0;
}