Cod sursa(job #299743)

Utilizator yonutzTalos Ionut yonutz Data 6 aprilie 2009 22:41:48
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
  #include <fstream>    
  #define NMAX 5000010    
  using namespace std;  
  int V[NMAX], Deque[NMAX], P, U, N, K;    
  long long S;    
  int main()    
  {    
      ifstream f ("deque.in");    
      ofstream g ("deque.out");    
      int i;     
      f>>N>>K;  
      for(i=1;i<=N;i++)  f>>V[i];    
      P=1, U=0;  
      for(i=1;i<=N;i++)  
      {    
          while((P<=U)&&(V[i]<=V[Deque[U]])) U--;         
          Deque[++U]=i;    
          if(Deque[P]==i-K) P++;    
          if(i>=K) S+=V[Deque[P]];         
      }    
      g<<S;    
      return 0;    
  }