Cod sursa(job #307185)

Utilizator mlazariLazari Mihai mlazari Data 23 aprilie 2009 17:26:58
Problema Deque Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 0.51 kb
Program Deque;
var f : text;
    a,d : array[0..5000000] of longint;
    p,u,n,k,i : longint;
    s : int64;

begin
  assign(f,'deque.in');
  reset(f);
  readln(f,n,k);
  for i:=1 to n do readln(f,a[i]);
  close(f);
  p:=1;
  u:=0;
  s:=0;
  for i:=1 to n do begin
    while (p<=u) and (a[i]<=a[d[u]]) do u:=u-1;
    u:=u+1;
    d[u]:=i;
    if i>=k then begin
      if d[p]=i-k then p:=p+1;
      s:=s+a[d[p]];
    end;
  end;
  assign(f,'deque.out');
  rewrite(f);
  write(f,s);
  close(f);
end.