Cod sursa(job #1954558)

Utilizator cipri321Marin Ciprian cipri321 Data 5 aprilie 2017 15:02:16
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
int D[500001],V[500001];
int n,k,i,mx,p,u,st,dr;
int main()
{
    fi>>n>>k;
    mx=-30001;
    for(i=1; i<=n; i++)
        fi>>V[i];
    p=u=1;
    D[p]=1;
    for(i=2; i<=n; i++)
    {
        while(p<=u&&V[i]<=V[D[u]])
            u--;
        u++;
        D[u]=i;
        while(p<=u&&i-D[p]>=k)
            p++;
        if(V[D[p]]>mx&&i>=k)
            mx=V[D[p]],dr=i;
    }
    fo<<dr-k+1<<' '<<dr<<" "<<mx;
    return 0;
}