Cod sursa(job #936837)
| Utilizator | Data | 8 aprilie 2013 21:43:45 | |
|---|---|---|---|
| Problema | Deque | Scor | 60 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
var fi,fo:text;
a,dq:array[0..5000010]of longint;
f,b,n,k,i:longint;
rs:int64;
BEGIN
assign(fi,'deque.in'); reset(fi);
assign(fo,'deque.out'); rewrite(fo);
readln(fi,n,k);
for i:=1 to n do readln(fi,a[i]);
f:=1; { <- }
b:=0; { -> }
for i:=1 to n do
begin
while ((f<=b)and(a[i]<=a[dq[b]])) do dec(b);
inc(b); dq[b]:=i;
if (dq[f]=i-k) then inc(f);
if (i>=k) then inc(rs,a[dq[f]]);
end;
writeln(fo,rs);
close(fi); close(fo);
END.