Cod sursa(job #591951)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 26 mai 2011 01:47:59
Problema Deque Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 0.56 kb
var     a,deque:array[1..5000000] of longint;
        n,k,i,j,p,cap,coada:longint;
        s:int64;
        f,g:text;

begin
  assign(f,'deque.in');
  assign(g,'deque.out');
  reset(f);
  rewrite(g);
  readln(f,n,k);

  for i:=1 to n do
    readln(f,a[i]);

  cap:=1; coada:=0;
  s:=0;
  for i:=1 to n do
    begin
      while (cap<=coada)and(a[i]<=a[deque[coada]]) do dec(coada);
      inc(coada);
      deque[coada]:=i;

      if deque[cap]=i-k then inc(cap);

      if i>=k then s:=s+a[deque[cap]]
    end;
  writeln(g,s);
  close(g);
end.