Cod sursa(job #1101818)

Utilizator Mihai_ChihaiMihai Chihai Mihai_Chihai Data 9 februarie 2014 10:33:36
Problema Deque Scor 25
Compilator fpc Status done
Runda Arhiva educationala Marime 0.56 kb
program dequee;
var a,deque:array[1..5000010] of longint;
    n,k,i,front, back,sum:longint;
begin
assign(input,'deque.in'); reset(input);
assign(output,'deque.out'); rewrite(output);
readln(n,k);

for i:=1 to n do
        readln(a[i]);

front:=1; back:=0;

for i:=1 to n do
         begin

         while (front<=back) and (a[i]<a[deque[back]]) do dec(back);
         inc(back);
         deque[back]:=i;

         if (deque[front]=i-k) then inc(front);

         if i>=k then sum:=sum+a[deque[front]];
         end;
write(sum);
close(output);
end.