Pagini recente » Cod sursa (job #1804372) | Monitorul de evaluare | Cod sursa (job #2688034) | Cod sursa (job #1569489) | Cod sursa (job #238434)
Cod sursa(job #238434)
program deq;
var f:text;
a,c:array[0..5000010] of longint;
s:int64;
i,n,k,li,ls: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 k do
begin
while (li<=ls) and (a[i]<=a[c[ls]]) do ls:=ls-1;
ls:=ls+1;
c[ls]:=i;
end;
for i:=k+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;
s:=s+a[c[li]]
end;
assign(f,'deque.out');
rewrite(f);
write(f,s);
close(f)
end.