Cod sursa(job #1335165)

Utilizator acomAndrei Comaneci acom Data 5 februarie 2015 10:10:24
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<fstream>
using namespace std;
#define NMAX 500005
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k,p,u,pm,um,m=-30001,a[NMAX],D[NMAX];
int main()
{
    int i;
    fin>>n>>k;
    p=1, u=0;
    for (i=1;i<=n;++i)
    {
        fin>>a[i];
        while (p<=u && a[i]<a[D[u]])
            --u;
        D[++u]=i;
        if (i>=k && m<a[D[p]])
            pm=D[p], um=i, m=a[D[p]];
        if (D[p]+k-1<=i)
            ++p;
    }
    fout<<pm<<" "<<um<<" "<<m<<"\n";
    return 0;
}