Cod sursa(job #303336)
Utilizator | Data | 9 aprilie 2009 19:16:20 | |
---|---|---|---|
Problema | Deque | Scor | 60 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
var v,c:array[1..5000010] of longint;
s,d,i,n,k:longint;
sum:int64;
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.