Cod sursa(job #2055877)

Utilizator CryshanaGanea Carina Cryshana Data 3 noiembrie 2017 21:04:24
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>

using namespace std;
const int N=1000000;
int d[N],v[N];

int main()
{
ifstream fin("trompeta.in") ;
ofstream fout("secventa.out");
    int st=0, dr=-1,pozi, pozf, maxim=0,n,k;
    fin>>n>>k;
    for(int i=0; i<n; i++)
    {
        fin>>v[i];
        if(st<=dr&&d[st]==i-k)
            st++;
        while(st<=dr&&v[d[dr]]>=v[i])
            dr--;
        d[dr++]=i;
        if(i>=k-1&&v[d[st]]>maxim) {maxim=v[d[st]]; pozf=i+1; pozi=i-k+2;}
    }
    fout<<pozi<<" "<<pozf<<" "<<maxim;
    return 0;
}