Cod sursa(job #483602)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 9 septembrie 2010 13:29:00
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream in("secventa.in");
ofstream out("secventa.out");

deque < pair <int,int> > Q;
int vmax,p,i,N,K,v;

int main()
{
    in>>N>>K;
    bool ok = 0;
    Q.push_back(make_pair(50000,-100));
    for(i=0;i<N;i++)
    {
        if(i+1>=K) ok =1 ;
        in>>v;
        while(!Q.empty()&&Q.back().first>=v)
            Q.pop_back();
        Q.push_back(make_pair(v,i));
        while(!Q.empty()&&Q.front().second<=i-K)
            Q.pop_front();
        if(Q.front().first>vmax&&ok)
            vmax = Q.front().first,p = i+1;
    }
    out<<p-K+1<<' ' <<p<<' '<<vmax;
    return 0;
}