Pagini recente » Cod sursa (job #2572845) | Cod sursa (job #146063) | Cod sursa (job #2120852) | Cod sursa (job #1639821) | Cod sursa (job #1414482)
program dequee;
type tabel=array[0..5000001] of longint;
buf=array[0..1 shl 17] of char;
var deque,t:tabel; ff1,ff2:buf;
n,k,pr,ul,i:longint; sol:int64;
f1,f2:text;
begin
assign (f1,'deque.in');
assign (f2,'deque.out');
reset (f1);
rewrite (f2);
settextbuf(f1,ff1);
settextbuf(f2,ff2);
readln (f1,n,k);
for i:=1 to n do readln (f1,t[i]);
pr:=1; ul:=0; sol:=0;
for i:=1 to n do begin
while (pr<=ul) and (t[deque[ul]]>=t[i]) do ul:=ul-1;
ul:=ul+1; deque[ul]:=i;
if i-deque[pr]=k then pr:=pr+1;
if i>=k then sol:=sol+t[deque[pr]];
end;
writeln (f2,sol);
close (f1);
close (f2);
end.