Cod sursa(job #484980)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 16 septembrie 2010 17:55:05
Problema Secventa Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <deque>
#include<vector>
using namespace std;

deque<pair<int,int> >Q;
int i,n,k,poz,maxim,a;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
int main()
{
    fi>>n>>k;
    maxim=-int(2e9);
    for(i=1;i<=n;i++)
    {
      fi>>a;
      while(!Q.empty() and Q.back().first>=a)
        Q.pop_back();
      Q.push_back(make_pair(a,i));
      if(i>=k) if(maxim<Q.front().first) maxim=Q.front().first, poz=i;
      if(i>=k) if(Q.front().second<=i-k+1) Q.pop_front();
    }
    fo<<poz-k+1<<" "<<poz<<" "<<maxim<<"\n";

    return 0;
}