Pagini recente » Cod sursa (job #174813) | Cod sursa (job #1102799) | Cod sursa (job #1166233) | Cod sursa (job #2067778) | Cod sursa (job #416147)
Cod sursa(job #416147)
program pascal;
var f,g:text; a,deque:array[0..5000010] of longint;
i,front,back,k,n:longint; s:int64;
procedure citire;
begin
assign(f,'deque.in'); reset(f);
assign(g,'deque.out'); rewrite(g);
readln(f,n,k);
for i:=1 to n do readln(f,a[i]);
close(f);
end;
procedure alfa;
begin
front:=1; back:=0; s:=0;
for i:=1 to n do
begin
while (front<=back) and (a[i]<=a[deque[back]]) do back:=back-1;
back:=back+1;
deque[back]:=i;
if deque[front]=i-k then front:=front+1;
if (i>=k) then s:=s+a[deque[front]];
end;
write(g,s);
close(g);
end;
begin
citire;
alfa;
end.