📄 prod.pas
字号:
program production;
const MaxNumber=1000;
var
n,min:longint;
a,b,m,o,order:array[1..MaxNumber] of integer;
procedure init;
var
i:integer;
begin
assign(input,'prod.in'); reset(input);
readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n do read(b[i]);
close(input);
end;
procedure main;
var
i,j,k,s,t,t1,t2:integer;
begin
fillchar(m,sizeof(m),0);
for i:=1 to n do
if a[i]<b[i] then m[i]:=a[i] else m[i]:=b[i];
for i:=1 to n do o[i]:=i;
for i:=1 to n-1 do
for j:=i+1 to n do
if m[o[i]]>m[o[j]] then
begin
k:=o[i]; o[i]:=o[j]; o[j]:=k;
end;
fillchar(order,sizeof(order),0);
s:=1; t:=n;
for i:=1 to n do
if m[o[i]]=a[o[i]] then
begin
order[s]:=o[i];
inc(s);
end
else
begin
order[t]:=o[i];
dec(t);
end;
t1:=0; t2:=0;
for i:=1 to n do
begin
t1:=t1+a[order[i]];
if t2<t1 then t2:=t1;
t2:=t2+b[order[i]];
end;
min:=t2;
end;
procedure print;
var i:integer;
begin
assign(output,'prod.out'); rewrite(output);
writeln(min);
for i:=1 to n-1 do write(order[i],' ');
writeln(order[n]);
close(output);
end;
begin
init; main; print
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -