Cod sursa(job #271032)

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

int main()
 {
  ifstream be ("deque.in");
  ofstream ki ("deque.out");
  int n,k,i,front,back;
  long long 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;
 }