Cod sursa(job #1529207)

Utilizator vancea.catalincatalin vancea.catalin Data 20 noiembrie 2015 16:53:18
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<iostream>
#include<fstream>
#define D 500000
using namespace std;
ifstream fin("secventa.in"); ofstream fout("secventa.out");
int n,k;
short x[D+10],a;
int poz[D+10],pi,pf,maxim=-D,p=1,u=1;
int main()
{
    cin.sync_with_stdio(false);
    int i,r,j;
    fin>>n>>k;
    fin>>a;
    x[p]=a;
    poz[p]=1;
    for(i=2;i<=n;i++)
    {
        fin>>a;
        while(p<=u&&x[u]>=a) u--;
        x[++u]=a;
        poz[u]=i;
        if(i-poz[p]+1>k) p++;
        if(i>=k&&x[p]>maxim)
        {
            maxim=x[p];
            pf=i;
        }
    }
    fout<<pf-k+1<<" "<<pf<<" "<<maxim<<"\n";
    return 0;
}