Cod sursa(job #323945)

Utilizator DeadEyeNaiba Mihai Lucian DeadEye Data 14 iunie 2009 11:11:51
Problema Deque Scor 25
Compilator fpc Status done
Runda Arhiva educationala Marime 0.69 kb
var f,g:text;
    s,n,i,x,k,st,dr:longint;
    a,o:array[1..5000000] 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 k do
       begin
          readln(f,x);
          while (st<=dr) and (x<=a[dr]) do
             dec(dr);
          inc(dr); a[dr]:=x; o[dr]:=i;
       end;
    s:=s+a[st];
    for i:=k+1 to n do
       begin
          readln(f,x);
          if o[st]<i-k+1 then inc(st);
          while (st<=dr) and (x<=a[dr]) do
             dec(dr);
          inc(dr); a[dr]:=x; o[dr]:=i;
          s:=s+a[st];
       end;
    writeln(g,s);
    close(f); close(g);
end.