ac1167.pas
来自「同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料」· PAS 代码 · 共 32 行
PAS
32 行
program tju1167;
{$Q-,R-}
const
maxn=10000;
maxm=6001;
imp=-2100000000;
var
a:array[boolean,1..maxn]of longint;
f:array[boolean,0..maxm]of longint;
n,m,i,j,ans,k,l,t:longint;
b1,b2:boolean;
begin
repeat
read(n,m);m:=m*2+1;
for i:=1 to n do read(a[true,i]);
for i:=1 to n do begin read(a[false,i]);inc(a[true,i],a[false,i]);end;
ans:=imp;f[false,0]:=0;f[false,1]:=imp;
for i:=1 to n do begin
b1:=odd(i);b2:=not b1;
k:=i-n+m;if k<1 then k:=1;
if i<m then l:=i else l:=m;
for j:=l downto k do begin
if f[b2,j-1]>f[b2,j] then f[b2,j]:=f[b2,j-1];
f[b1,j]:=f[b2,j]+a[odd(j),i];
end;
if l<m then f[b1,l+1]:=imp else if f[b1,m]>ans then ans:=f[b1,m];
end;
writeln(ans);
until seekeof;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?