Cod sursa(job #770122)

Utilizator ionut_blesneagIonut Blesneag ionut_blesneag Data 22 iulie 2012 02:54:44
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int n,k,i;
int deque[5000010],a[5000010];
int front, back;
long long sum;

int main()
{f>>n>>k;
for(i=1; i<=n; i++)
  f>>a[i];
front=1;   back=0;   //deque vid

for(i=1; i<=n; i++)
{while(front<=back && a[i]<=a[deque[back]])  back--;
back++;
deque[back]=i;
if(deque[front]==i-k)  front++;
if(i>=k)   sum+=a[deque[front]];
         }  
g<<sum;         
f.close();
g.close();    
return 0;}