显示代码纯文本
var
a,b,c,d,e,n,m:longint;
sum:array[0..10000] of longint;
dp:array[0..10001,0..501] of longint;
function max(xx,yy:longint):longint;
begin
if xx>yy then exit(xx)
else exit(yy);
end;
begin
assign(input,'cowrun.in');
reset(input);
assign(output,'cowrun.out');
rewrite(output);
readln(n,m);
for a:=1 to n do
read(sum[a]);
for a:=1 to n do
begin
dp[a,0]:=dp[a-1,0];
for b:=1 to m do
if a>=b then
begin
dp[a,b]:=max(dp[a,b],dp[a-1,b-1]+sum[a]);
dp[a,0]:=max(dp[a,0],dp[a-b,b]);
end;
end;
writeln(dp[n,0]);
close(input);
close(output);
end.