|
|
back to boardBinary search, WA on test #7. Why? program ural1066; var n,i:integer; a,b,c,l,r,h2:real; h1:real; begin readln(n,h1); l:=0;r:=maxlongint; repeat b:=h1; h2:=(l+r)/2;c:=h2; for i:=3 to n do begin a:=b;b:=c;c:=2*(b+1)-a; if c<0 then break; end; if c<0 then l:=h2 else r:=h2; until r-l<1e-4; writeln(abs(c):0:2); end. Re: Binary search, WA on test #7. Why? Posted by Saturn 22 Jun 2004 02:03 You should use math to solve this problem Re: Binary search, WA on test #7. Why? When I inputed 1000 1, my prog gave me 996004.06. So I knew it was the prob of accuration. But when I changed '1e-4' in the last line but two into '1e-10', it worked well on my PC, but WA test #1 on the judge! It's even stranger! Re: Binary search, WA on test #7. Why? Posted by Saturn 23 Jun 2004 02:25 You solutions is not correct.You can try these test: 100 100 =>7921.00 10 11 =>32.00 123 456 =>10128.86 111 111 =>9891.00 8 15 =>9.75 5 10 =>0.67 70 50 =>3835.14 1000 1=>996004.00 (It was given by an ACed program) If you don't know how to solve this problem by maths I can tell you. I used only 9 var and 12 lines program, O(N). Goodluck!:) I've fixed my error. AC now. Thanks. Subj |
|
|