Cod sursa(job #239753)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 5 ianuarie 2009 18:59:55
Problema Deque Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 0.49 kb
var f,g:text;
a,c:array[1..5000010] of longint;
n,i,dr,st,k:longint;
s:int64;
begin
  assign(f,'deque.in');
  reset(f);
  readln(f,n,k);
  for i:=1 to n do
  readln(f,a[i]);
  st:=1;
  dr:=0;
  for i:=1 to n do
       begin
       while (st<=dr) and (a[i]<=a[c[dr]]) do dr:=dr-1;
       dr:=dr+1;
       c[dr]:=i;
       if c[st]=i-k then st:=st+1;
       if i>=k then s:=s+a[c[st]];
       end;
  assign(g,'deque.out');
  rewrite(g);
  writeln(g,s);
  close(f);
  close(g);
end.