Cod sursa(job #936836)
| Utilizator | Data | 8 aprilie 2013 21:43:20 | |
|---|---|---|---|
| Problema | Deque | Scor | 25 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
var fi,fo:text;
a,dq:array[0..5000000]of longint;
f,b,rs,n,k,i:longint;
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>=0) then inc(rs,a[dq[f]]);
end;
writeln(fo,rs);
close(fi); close(fo);
END.