Cod sursa(job #300613)

Utilizator andreiszAndrei Szilagyi andreisz Data 7 aprilie 2009 15:54:57
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 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<=K)&&(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;
}