Cod sursa(job #771849)

Utilizator t.g.g.tt.g.g.t t.g.g.t Data 27 iulie 2012 12:12:26
Problema Deque Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.48 kb
var a,b:array[1..5000000]of longint; i,n,k,p,u:longint; s:int64; f:text;
buf:array[1..1 shl 19]of char;
begin
assign(f,'deque.in'); reset(f); settextbuf(f,buf);
readln(f,n,k);
for i:=1 to n do readln(f,a[i]);
p:=1; u:=0; s:=0;
for i:=1 to n do
  begin
    while (p<=u) and (a[i]<a[b[u]]) do u:=u-1;
    u:=u+1;
    b[u]:=i;
    if (b[p]=i-k) then p:=p+1;
    if i>=k then s:=s+a[b[p]];
  end;
assign(output,'deque.out'); rewrite(output);
writeln(s);
close(output);
end.