Cod sursa(job #382090)

Utilizator philipPhilip philip Data 12 ianuarie 2010 20:08:06
Problema Deque Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.54 kb
var k,i,n,l,r:longint;
    bufin:array[1..65000] of byte;
    a,d:array[0..5000001] of longint;
    s:int64;

begin
  assign(input,'deque.in');
  reset(input);
  assign(output,'deque.out');
  rewrite(output);
  settextbuf(input,bufin);
  readln(n,k);
  for i:=1 to n do readln(a[i]);


  l:=1;
  r:=0;
  for i:=1 to n do begin
    while (l<=r) and (a[i]<=a[d[r]]) do dec(r);
    inc(r);
    d[r]:=i;
    if i>=k then s:=s+a[d[l]];
    if d[l]=i-k+1 then inc(l);
  end;
  writeln(s);

  close(input);
  close(output);
end.