Cod sursa(job #1935452)

Utilizator Garen456Paun Tudor Garen456 Data 22 martie 2017 13:42:28
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>

using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k;
int a[500005];
int de[500005];
int fr,bc,pf;
int maxi=-300000;
int main()
{
    fin>>n>>k;
    int i;
    for(i=1;i<=n;++i)
        fin>>a[i];
    fr=1; bc=0;
    for(i=1;i<=n;++i)
    {  while(fr<=bc && a[i]<a[de[bc]] ) bc--;
        de[++bc]=i;
        if(de[fr]==i-k) fr++;

        if(i>=k)
        if(a[de[fr]] >maxi ) {maxi=a[de[fr]]; pf=i;}
    }
    fout<<pf-k+1<<" "<<pf<<" "<<maxi;
    return 0;
}