Cod sursa(job #303355)
Utilizator | Data | 9 aprilie 2009 19:42:40 | |
---|---|---|---|
Problema | Deque | Scor | 60 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.44 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);
s:=1; d:=0; sum:=0;
for i:=1 to n do
begin
readln(v[i]);
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.