Pagini recente » Cod sursa (job #1555687) | Cod sursa (job #793910) | Borderou de evaluare (job #826624) | Cod sursa (job #810038) | Cod sursa (job #1403163)
program deque;
const nmax = 5000001;
var f,g:text;
bufin,bufout:array[1..1 shl 17] of char;
i,n,k,dr,st:longint;
a,c:array[1..nmax] of longint;
s:int64;
begin
assign(f,'deque.in'); reset(f);
assign(g,'deque.out'); rewrite(g);
settextbuf(f,bufin); settextbuf(g,bufout);
readln(f,n,k);
for i := 1 to n do
read(f,a[i]);
st := 1; dr := 0;
for i := 1 to n do
begin
while (st <= dr) and (a[i] <= a[c[dr]]) do dec(dr);
inc(dr);
c[dr]:=i;
if c[st] = i - k then inc(st);
if i >= k then s := s + a[c[st]];
end;
writeln(g,s);
close(f); close(g);
end.