VijosP1237 Pascal207错误求解

来源:百度知道 编辑:UC知道 时间:2024/06/25 17:14:37
program VijosP1237(input,output);
var
i,j,k,n,m,q,cb,cb1,cb2:integer;
cb3,w,e,cb5,cb4:extended;
b:array[-100000000..300000000] of integer;
procedure pd;
begin
if (cb1+cb2)>(w+b[k])
then begin
cb1:=trunc(w);
cb2:=trunc(b[k]);
end;
end;
procedure rdl;
var
l:integer;
begin
cb4:=0.618;
readln(n);
for l:=1 to n do
read(b[j]);
end;
procedure xhqhj;
begin
for j:=1 to n do
cb:=b[j];
begin
for k:=1 to n do
w:=cb3;
if cb>b[k]
then cb3:=b[k]/cb
else cb3:=cb/b[k];
if cb3-cb4>w-cb4
then begin
cb1:=b[k];
cb2:=cb;
if cb1>cb2
then cb5:=cb2/cb1
else cb5:=cb1/cb2;
end;
if cb3=cb5
then pd;
end;
end;
begin
rdl;
xhqhj;
writeln(cb1);
writeln(cb2);
end.

提示207号错.错误表别来.Ctrl+c+v党勿入.资料和网址党勿入.
终极vzhengs - 魔法学徒 一级 这个题需要extended
cykt165883399

你把extended改为int64试试

你的数组开的有点大。。有可能会超内存。

无效浮点运算 可能是有0
还有你这题方法不太对 n<=30000
你的效率O(n2)=900000000 超时一塌糊涂
怎么说也要先快排啊 再用两个指针搜一下
精度也要调:if abs(a[x1]/a[x2]-p)<min-0.0000000001 then