Cod sursa(job #578396)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 11 aprilie 2011 11:39:17
Problema Deque Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
var d, p:array [0..5000000] of longint;
    buf1:array [1.. 1 shl 17] of char;
    i, j, n, k, a, b, x:longint;
    sum:int64;
    f, g:text;

begin
assign (f, 'deque.in'); settextbuf (f, buf1); reset (f);
assign (g, 'deque.out'); rewrite (g);

read (f, n, k);
a:=1; b:=1; read (f, d[1]); p[1]:=1;
for i := 2 to k do
  begin
  readln (f, x);
  while (d[b]>x) and (b>=a) do dec(b);
  inc(b); d[b]:=x; p[b]:=i;
  end;
sum:=sum+d[a];

for i := k+1 to n do
  begin
  readln (f, x);
  while (d[b]>x) and (b>=a) do dec(b);
  inc(b); d[b]:=x; p[b]:=i;

  if i-p[a]=k then inc(a);
  sum:=sum+d[a];
  end;

writeln (g, sum);
close (f); close (g);

end.