Cod sursa(job #303329)
Utilizator | Data | 9 aprilie 2009 19:14:12 | |
---|---|---|---|
Problema | Deque | Scor | 25 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
var v,c:array[1..5000010] of longint;
sum,s,d,i,n,k:longint;
begin
assign(input,'deque.in');reset(input);
assign(output,'deque.out'); rewrite(output);
readln(n,k);
for i:=1 to n do readln(v[i]);
s:=1; d:=0; sum:=0;
for i:=1 to n do
begin
while (s<=d)and(v[i]<=v[c[d]]) do dec(d);
inc(d);
c[d]:=i;
if c[s]=i-k then inc(s);
if i>=k then sum:=sum+v[c[s]];
end;
writeln(sum);
close(output);
close(input);
end.