Pagini recente » Cod sursa (job #243233) | Cod sursa (job #3160405) | Cod sursa (job #2199211) | Cod sursa (job #2624146) | Cod sursa (job #784509)
Cod sursa(job #784509)
Const
tfi = 'deque.in';
tfo = 'deque.out';
Nmax = 10000000;
Type
arr1 = array[1..Nmax] of longint;
Var
fi,fo : text;
N,K,f,r : longint;
res : int64;
A,st : arr1;
(*------------------------------------*)
Procedure nhap;
var
i : longint;
begin
assign(fi,tfi); reset(fi);
read(fi,N,K);
for i := 1 to n do
read(fi,A[i]);
close(fi);
end;
(*------------------------------------*)
Procedure push(i : longint);
begin
inc(r);
st[r] := i;
end;
(*------------------------------------*)
Procedure xuly;
var
i,tg : longint;
begin
f := 1;
r := 0;
For i := 1 to n do
begin
while (f <= r) and (A[i] <= A[st[r]]) do dec(r);
while (f <= r) and (i - st[f] + 1 > k) do inc(f);
push(i);
if i >= k then res := res + A[st[f]];
end;
end;
(*------------------------------------*)
Procedure inkq;
begin
assign(fo,tfo); rewrite(fo);
write(fo,res);
close(fo);
end;
(*------------------------------------*)
(*------------------------------------*)
BEGIN
nhap;
xuly;
inkq;
END.