不科学,,管理员看看

Var
n,i,j,max,num:longint;
a,b:array[1..100000]of longint;

Procedure kp(l,r:longint);
Var
i,j,t,mid:longint;
Begin
i:=l; j:=r; mid:=b[(i+j) div 2];
repeat
while b[i]>mid do inc(i);
while b[j]<mid do dec(j);
if i<=j then
begin
t:=b[i]; b[i]:=b[j]; b[j]:=t;
t:=a[i]; a[i]:=a[j]; a[j]:=t;
inc(i); dec(j);
end;
until i>j;
if i<r then kp(i,r);
if l<j then kp(l,j);
End;

Begin
readln(n);
for i:=1 to n-1 do
read(a[i]);
readln(a[n]);
for i:=1 to n-1 do
read(b[i]);
readln(b[n]);
max:=-1;
for i:=1 to n do
if max<a[i]*2+b[i] then
begin
j:=i;
max:=a[i]*2+b[i];
end;
b[j]:=0;
writeln(max);
num:=max-a[j]*2;
kp(1,n);
i:=0;
while i<n-1 do
begin
inc(i);
num:=num+b[i];
if num+a[i]*2>max+b[i] then
max:=num+a[i]*2
else
if num+a[i]*2<=max+b[i] then
max:=max+b[i];
writeln(max);
end;
readln;
End.
我这个在洛谷是对的。然后我一组一组的数据测过。。都是对啊。。为啥vijos不能过啊

0 条评论

目前还没有评论...

信息

ID
1977
难度
8
分类
(无)
标签
递交数
2269
已通过
267
通过率
12%
被复制
16
上传者