My prog deals with coefficients, but WA on test #16. Can anybody help me or gimme that test?

It works like this:

f1=1*f1+0*f2;

f2=0*f1+1*f2;

f3=1*f1+1*f2;

f4=1*f1+2*f2;

f5=2*f1+3*f2;

f6=3*f1+5*f2;

...^....^

...|....These coefficients are in the array c2

...These coefficients are in the array c1

----PROG BELOW----

program ural1133;

const

maxn=2001;

var

c1,c2:array[1..maxn]of extended;

x,y,n,i:integer;

fx,fy,f1,f2:longint;

function min(a,b:integer):integer;

begin

if a<b then min:=a else min:=b;

end;

function max(a,b:integer):integer;

begin

if a>b then max:=a else max:=b;

end;

begin

readln(x,fx,y,fy,n);

i:=min(min(x,y),n);

if i<=0 then begin

i:=1-i;

inc(x,i);inc(y,i);inc(n,i);

end;

c1[1]:=1;c2[1]:=0;

c1[2]:=0;c2[2]:=1;

for i:=3 to max(max(x,y),n) do begin

c1[i]:=c1[i-2]+c1[i-1];

c2[i]:=c2[i-2]+c2[i-1];

end;

f1:=round((fx*c2[y]-fy*c2[x])/(c1[x]*c2[y]-c1[y]*c2[x]));

f2:=round((fx*c1[y]-fy*c1[x])/(c2[x]*c1[y]-c2[y]*c1[x]));

writeln(round(c1[n]*f1+c2[n]*f2));

end.

Re: My prog deals with coefficients, but WA on test #16. Can anybody help me or gimme that test?

Try this:

46 1836311903 -46 -1836311903 45

Correct answer is 1134903170, but your program outputs 1073741824.

Re: My prog deals with coefficients, but WA on test #16. Can anybody help me or gimme that test?

I have the same problem. Can anybody help?

No subject

*Edited by author 10.11.2007 16:27*

Re: My prog deals with coefficients, but WA on test #16. Can anybody help me or gimme that test?

>> writeln(round(c1[n]*f1+c2[n]*f2));

For example c1[n]*f1 may exceed extended (c1[n]*f1+c2[n]*f2 don't, but you will lost correctness), and as I understand, test from UNKNOWN LAMER (thanks!), makes it true

*Edited by author 10.11.2007 16:33*

Re: My prog deals with coefficients, but WA on test #16. Can anybody help me or gimme that test?

Posted by

claire_ 11 Nov 2009 11:51

that's true,thanks

Re: My prog deals with coefficients, but WA on test #16. Can anybody help me or gimme that test?

i use round an correct