Cod sursa(job #1203040)

Utilizator azkabancont-vechi azkaban Data 30 iunie 2014 15:37:19
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
deque <long> Dq;
long i,n,aux,k,A[500013],maxim(-99999),sol1(99999),sol2;
int main()
{
  cin>>n>>k;
  for (i=1;i<=n;++i){
                     cin>>A[i];
                     while(!Dq.empty() && A[i]<=A[Dq.back()]) Dq.pop_back();
                     Dq.push_back(i);
                     if (!Dq.empty() && i-k==Dq.front()) Dq.pop_front();
                     maxim=max(maxim,Dq.front());
                     if (maxim==Dq.front()){
                                            sol1=i-k+1;
                                            sol2=i;
                                            }                     
                     }
  for (i=sol2;i>=sol1;--i) cout<<A[i]<<" ";
return 0;
}