📄 marathon.pas
字号:
program E3_5; {Marathon}
const
number=5;
mileage=25;
var
a:array[1..number,1..10] of integer;
b:array[1..number] of byte;
i,j,k,min,m,t:integer;
procedure init;
begin
assign(input,'marath.in');
reset(input);
for i:=1 to number do
for j:=1 to 10 do read(a[i,j]);
close(input);
end;
procedure work;
begin
for i:=1 to number do
begin
b[i]:=1;
min:=min+a[i,1];
end;
k:=mileage-number;
while k>0 do
begin
t:=1;
while b[t]=10 do inc(t);
m:=t;
for j:=t+1 to number do
if b[j]<10 then
if a[j,b[j]+1]-a[j,b[j]]<a[m,b[m]+1]-a[m,b[m]] then m:=j;
dec(k);
min:=min+a[m,b[m]+1]-a[m,b[m]];
inc(b[m]);
end;
end;
procedure print;
begin
assign(output,'marath.out');
rewrite(output);
writeln(min);
for i:=1 to number-1 do write(b[i],' ');
writeln(b[number]);
close(output);
end;
begin
init;
work;
print
end.
mi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -