Cod sursa(job #309021)

Utilizator mlazariLazari Mihai mlazari Data 29 aprilie 2009 12:40:44
Problema Deque Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.57 kb
Program Deque;
var f : text;
    a,d : array[0..5000000] of longint;
    p,u,n,k,i : longint;
    s : int64;
    buf : array[1..65000] of byte;

begin
  assign(f,'deque.in');
  reset(f);
  settextbuf(f,buf);
  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.