Cod sursa(job #1108504)

Utilizator DjokValeriu Motroi Djok Data 15 februarie 2014 19:21:31
Problema Deque Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
var n,k,i,sque,eque:longint;
    a,deque:array[1..5000002] of longint;
    rs:int64;
    buf1,buf2:array[1..1 shl 17] of char;

begin
assign(input,'deque.in');
assign(output,'deque.out');
reset(input);
rewrite(output);
settextbuf(input,buf1);
settextbuf(output,buf2);


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

     sque:=1; eque:=0;
      for i:=1 to n do
       begin
         while (sque<=eque) and (a[i]<=a[deque[eque]]) do
          dec(eque);
          inc(eque);
         deque[eque]:=i;
         if deque[sque]=i-k  then inc(sque);
         if i>=k then inc(rs,a[deque[sque]]);
       end;

       write(rs);

close(input);
close(output);
{Totusi este trist in lume}
end.