Cod sursa(job #303361)
Utilizator | Data | 9 aprilie 2009 19:47:51 | |
---|---|---|---|
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;
f:text;
begin
assign(f,'deque.in');reset(f);
assign(output,'deque.out'); rewrite(output);
readln(f,n,k);
s:=1; d:=0;
for i:=1 to n do
begin
readln(f,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(f);
end.