Pagini recente » Cod sursa (job #2339848) | Cod sursa (job #68714) | Cod sursa (job #2820630) | Cod sursa (job #876310) | Cod sursa (job #591952)
Cod sursa(job #591952)
var a,deque:array[1..5000000] of longint;
n,k,i,j,p,cap,coada:longint;
buf:array[1..5000000] of byte;
s:int64;
f,g:text;
begin
assign(f,'deque.in');
assign(g,'deque.out');
reset(f);
rewrite(g);
settextbuf(f,buf);
readln(f,n,k);
for i:=1 to n do
readln(f,a[i]);
cap:=1; coada:=0;
s:=0;
for i:=1 to n do
begin
while (cap<=coada)and(a[i]<=a[deque[coada]]) do dec(coada);
inc(coada);
deque[coada]:=i;
if deque[cap]=i-k then inc(cap);
if i>=k then s:=s+a[deque[cap]]
end;
writeln(g,s);
close(g);
end.