讨论 / 为什么会这样?
cyclone77 2009-09-10 17:26:00
点我顶贴 收藏 删除
状态: Unaccepted

测评机: Xeost[5]

得分: 30分

提交日期: 2009-9-2 21:46:00

有效耗时: 860毫秒

测试结果1: 选手程序运行超过时限

测试结果2: 选手程序无输出

测试结果3: 选手程序运行超过时限

测试结果4: 选手程序无输出

测试结果5: 通过本测试点|有效耗时766ms

测试结果6: 选手程序运行超过时限

测试结果7: 通过本测试点|有效耗时47ms

测试结果8: 选手程序运行超过时限

测试结果9: 通过本测试点|有效耗时47ms

测试结果10: 选手程序运行超过时限

program zmbz;

var

i,j,n,e,s,x,y,ans,max,k,sum,min:longint;

a,b,c,d:array[-1000..1000]of integer;

function power(a,b:longint):longint;

var

sum:longint;

begin

sum:=1;

if b=0 then exit(1) else

if b=1 then exit(a) else

begin

while b>0 do

begin

dec(b);

sum:=sum*a;

end;

exit(sum);

end;

end;

begin

readln(n); max:=-maxlongint; min:=maxlongint;

for i:=1 to n do read(a[i]); readln;

for i:=1 to n-1 do

for j:=i+1 to n do

begin

x:=a[i]; y:=a[j];

e:=0; s:=0; sum:=0;

for k:=-n to n do

begin

b[k]:=0;

d[k]:=0;

end;

while x>0 do

begin

inc(e);

b[e]:=x mod 7;

x:=x div 7;

end;

while y>0 do

begin

inc(s);

d[s]:=y mod 7;

y:=y div 7;

end;

if s>e then ans:=s else ans:=e;

if s>e then

begin

for k:=s downto 1 do

begin

if d[k]<>b[k-(s-e)] then c[k]:=1;

end;

end else

begin

for k:=e downto 1 do

begin

if b[k]<>d[k-(e-s)] then c[k]:=1;

end;

end;

for k:=ans downto 1 do if c[k]<>0 then sum:=sum+power(2,ans-k);

if sum>max then max:=sum;

if sum<min then min:=sum;

end;

if abs(max-123)>abs(min-123) then writeln(min) else writeln(max);

readln;

end.

查看更多回复
提交回复