Pagini recente » Cod sursa (job #1426075) | Cod sursa (job #594124) | Cod sursa (job #2320305) | Cod sursa (job #3341351) | Cod sursa (job #1101825)
program dequee;
var a,deque:array[1..5000010] of longint;
n,k,i,front, back:longint;
sum:int64;
buf:array[1.. 1 shl 16] of char;
begin
assign(input,'deque.in'); reset(input);
assign(output,'deque.out'); rewrite(output);
settextbuf(input,buf);
readln(n,k);
for i:=1 to n do
readln(a[i]);
front:=1; back:=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 sum:=sum+a[deque[front]];
end;
write(sum);
close(output);
end.