Cod sursa(job #1935453)

Utilizator Garen456Paun Tudor Garen456 Data 22 martie 2017 13:43:29
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 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;
    fr=1; bc=0;
    for(i=1;i<=n;++i)
    {  fin>>a[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;
}