Pagini recente » Cod sursa (job #401459) | Cod sursa (job #113689) | Cod sursa (job #7561) | Cod sursa (job #147523) | Cod sursa (job #345697)
Cod sursa(job #345697)
{$S-}
var a,deque:array[1..5000000]of LONGINT;
suma:INT64;
i,front,back,k,n:LONGINT;
begin
assign(input,'deque.in');
reset(input);
assign(output,'deque.out');
rewrite(output);
read(n,k);
for i:=1 to n do read(a[i]);
front:=1; back:=0;
suma:=0;
for i:=1 to n do begin
while (front<=back)and(a[i]<=a[deque[back]])do dec(back);
inc(back);
deque[back]:=i;
if deque[front]=i-k then inc(front);
if i>=k then inc(suma,a[deque[front]]);
end;
write(suma);
close(output);
end.