Pagini recente » Cod sursa (job #2585874) | Cod sursa (job #3266064) | Mihnea Andreescu | Cod sursa (job #2689531) | Cod sursa (job #238431)
Cod sursa(job #238431)
program deq;
var f:text;
a,c:array[0..500010] of longint;
s:int64;
i,n,k,li,ls,j:longint;
begin
assign(f,'deque.in');
reset(f);
readln(f,n,k);
for i:=1 to n do read(f,a[i]);
close(f);
s:=0;
li:=1;
ls:=0;
for i:=1 to n do
begin
while (li<=ls) and (a[i]<=a[c[ls]]) do ls:=ls-1;
ls:=ls+1;
c[ls]:=i;
if c[li]=i-k then li:=li+1;
if i>=k then s:=s+a[c[li]]
end;
assign(f,'deque.out');
rewrite(f);
write(f,s);
close(f)
end.