Cod sursa(job #271030)

Utilizator zbarniZajzon Barna zbarni Data 4 martie 2009 20:19:32
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream.h>
#define nx 5000005
long long a[nx],deque[nx];

int main()
 {
  ifstream be ("deque.in");
  ofstream ki ("deque.out");
  long long n,k,i,front,back,sz=0;
  be>>n>>k;
  for (i=1;i<=n;++i)
   be>>a[i];
  be.close();
  front=1,back=0;
  for (i=1;i<=n;++i)
   {
    while (front<=back && a[i]<a[deque[back]]) --back;
    deque[++back]=i;
    if (deque[front]==i-k) front++;
    if (i>=k) sz+=a[deque[front]];
   }
  ki<<sz<<'\n';
  ki.close();
  return 0;
 }