Cod sursa(job #408510)

Utilizator hungntnktpHungntnktp hungntnktp Data 3 martie 2010 05:22:12
Problema Deque Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 0.58 kb
var n, k, i, fi, la: longint;
ss:int64;
a, s: array[1..5000000] of longint;

begin
  assign(input, 'deque.in'); reset(input);
  assign(output, 'deque.out'); rewrite(output);
  read(n, k);
  fi := 1; la := 0;
  for i := 1 to k - 1 do
  begin
    read(a[i]);
    while (la >= fi) and (a[s[la]] > a[i]) do dec(la);
    inc(la); s[la] := i;
  end;
  for i := k to n do
  begin
    while (fi <= la) and (s[fi] < i - k + 1) do inc(fi);
    read(a[i]);
    while (la >= fi) and (a[s[la]] > a[i]) do dec(la);
    inc(la); s[la] := i;
    inc(ss, a[s[fi]]);
  end;
  writeln(ss);
end.