测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A8978. Perfect Pair

编程题 普及/提高-

题目描述

Let us call a pair of integer numbers $m$ -perfect, if at least one number in the pair is greater than or equal to $m$ . Thus, the pairs (3, 3) and (0, 2) are 2-perfect while the pair (-1, 1) is not.

Two integers $x$ , $y$ are written on the blackboard. It is allowed to erase one of them and replace it with the sum of the numbers, $(x+y)$ .

What is the minimum number of such operations one has to perform in order to make the given pair of integers $m$ -perfect?

输入格式

Single line of the input contains three integers $x$ , $y$ and $m$ ( $-10^{18}<=x$ , $y$ , $m<=10^{18}$ ).

Please, do not use the %lld specifier to read or write 64-bit integers in C++. It is preffered to use the cin, cout streams or the %I64d specifier.

输出格式

Print the minimum number of operations or "-1" (without quotes), if it is impossible to transform the given pair to the $m$ -perfect one.

输入输出样例

输入 #1
1 2 5
输出 #1
2
输入 #2
-1 4 15
输出 #2
4
输入 #3
0 -1 5
输出 #3
-1

说明/提示

In the first sample the following sequence of operations is suitable: (1, 2) ![](/uploads/acgo/image/b3dc53c56816b587_6feb63073171.jpeg) (3, 2) ![](/uploads/acgo/image/b3dc53c56816b587_6feb63073171.jpeg) (5, 2).

In the second sample: (-1, 4) ![](/uploads/acgo/image/b3dc53c56816b587_6feb63073171.jpeg) (3, 4) ![](/uploads/acgo/image/b3dc53c56816b587_6feb63073171.jpeg) (7, 4) ![](/uploads/acgo/image/b3dc53c56816b587_6feb63073171.jpeg) (11, 4) ![](/uploads/acgo/image/b3dc53c56816b587_6feb63073171.jpeg) (15, 4).

Finally, in the third sample $x$ , $y$ cannot be made positive, hence there is no proper sequence of operations.
上一题 去做题 下一题