Cod sursa(job #484973)

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

deque<pair<long,long> >Q;
int main()
{
    long long i,n,k,poz,maxim,a;
    ifstream fi("secventa.in");
    ofstream fo("secventa.out");
    fi>>n>>k;
    maxim=-int(2e9);
    for(i=1;i<=n;i++)
    {
      fi>>a;
      while(!Q.empty())
      {
         if(Q.back().first>=a)
         Q.pop_back(); else break;
      }
      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;
}