Cod sursa(job #1528954)

Utilizator vladbatalanBatalan Vlad vladbatalan Data 20 noiembrie 2015 11:49:03
Problema Secventa Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <deque>

using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque< pair<int,int> > p;
int n,k,i,x,poz;
int vmax=-1000000000;
int main()
{
    fin>>n>>k;
    for(i=1;i<k;i++)
    {
        fin>>x;
        while(p.size()&&p.back().second>=x)
            p.pop_front();
        p.push_back(make_pair(i,x));
    }
    for(;i<=n;i++)
    {
        fin>>x;
        while(p.size()&&p.back().second>=x)
            p.pop_back();
        p.push_back(make_pair(i,x));
        if(i-p.front().first==k)
            p.pop_front();
        if(vmax<p.front().second)
        {
            vmax=p.front().second;
            poz=i;
        }
    }
    fout<<poz-k+1<<' '<<poz<<' '<<vmax;
    return 0;
}