Cod sursa(job #323938)

Utilizator DeadEyeNaiba Mihai Lucian DeadEye Data 14 iunie 2009 10:55:08
Problema Deque Scor 25
Compilator fpc Status done
Runda Arhiva educationala Marime 0.6 kb
var f,g:text;
    s,n,i,j,x,k,st,dr,d1:longint;
    a,o:array[1..10000000] of longint;
begin
    assign(f,'deque.in'); reset(f);
    assign(g,'deque.out'); rewrite(g);
    readln(f,n,k); s:=0;
    st:=1; dr:=0;
    for i:=1 to n do
       begin
          readln(f,x); d1:=dr;
          while (st<=dr) and (x<=a[dr]) do
             dec(dr);
          inc(dr); a[dr]:=x; o[dr]:=i;
          if i>=k
             then
                begin
                   s:=s+a[st];
                   if o[st]=i-k+1 then inc(st);
                end;
       end;
    writeln(g,s);
    close(f); close(g);
end.