Time Limit: 2 sec / Memory Limit: 256 MB
配点 : 100 点
問題
ButCoder株式会社 は、プログラミングコンテストサイト「ButCoder」を運営しています。このサイトでは、ユーザーにはレーティングという技量を表す整数値が与えられ、その値はユーザーがコンテストに参加するたびに変動します。新規ユーザーのレーティングの初期値は 0 であり、レーティングが K 以上に達したユーザーは 皆伝 と呼ばれます。なお、レーティングは負になることもあります。
低橋くんというユーザーが ButCoder に新たに登録しました。彼のレーティングは、彼が奇数回目に参加するコンテスト(1 回目、3 回目、5 回目…)では毎回 A 増加し、偶数回目に参加するコンテスト(2 回目、4 回目、6 回目…)では毎回 B 減少することが予測されます。
この予測によると、彼が初めて皆伝になるのは何回のコンテストに参加した直後でしょうか、もしくは彼は永遠に皆伝になれないでしょうか?
制約
- 1 ≤ K, A, B ≤ 10^{18}
- 入力値はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
K A B
出力
低橋くんが永遠に皆伝にならないと予測される場合は、-1
と出力せよ。そうでない場合は、彼が初めて皆伝になるまでのコンテストの回数の予測値を出力せよ。
入力例 1
4000 2000 500
出力例 1
5
低橋くんがコンテストに参加するたびに、彼のレーティングは 0 → 2000 → 1500 → 3500 → 3000 → 5000 → … と変動することが予測されます。彼のレーティングが 4000 以上に到達するのは、5 回目の参加の直後です。
入力例 2
4000 500 2000
出力例 2
-1
低橋くんがコンテストに参加するたびに、彼のレーティングは 0 → 500 → -1500 → -1000 → -3000 → -2500 → … と変動することが予測されます。彼が皆伝になることは永遠にありません。
入力例 3
1000000000000000000 2 1
出力例 3
1999999999999999997
入力される値や出力すべき値は 32 bit 整数に収まらないことがあります。
Score : 100 points
Problem Statement
ButCoder Inc. runs a programming competition site called ButCoder. In this site, a user is given an integer value called rating that represents his/her skill, which changes each time he/she participates in a contest. The initial value of a new user's rating is 0, and a user whose rating reaches K or higher is called Kaiden ("total transmission"). Note that a user's rating may become negative.
Hikuhashi is a new user in ButCoder. It is estimated that, his rating increases by A in each of his odd-numbered contests (first, third, fifth, ...), and decreases by B in each of his even-numbered contests (second, fourth, sixth, ...).
According to this estimate, after how many contests will he become Kaiden for the first time, or will he never become Kaiden?
Constraints
- 1 ≤ K, A, B ≤ 10^{18}
- All input values are integers.
Input
Input is given from Standard Input in the following format:
K A B
Output
If it is estimated that Hikuhashi will never become Kaiden, print -1
. Otherwise, print the estimated number of contests before he become Kaiden for the first time.
Sample Input 1
4000 2000 500
Sample Output 1
5
Each time Hikuhashi participates in a contest, his rating is estimated to change as 0 → 2000 → 1500 → 3500 → 3000 → 5000 → … After his fifth contest, his rating will reach 4000 or higher for the first time.
Sample Input 2
4000 500 2000
Sample Output 2
-1
Each time Hikuhashi participates in a contest, his rating is estimated to change as 0 → 500 → -1500 → -1000 → -3000 → -2500 → … He will never become Kaiden.
Sample Input 3
1000000000000000000 2 1
Sample Output 3
1999999999999999997
The input and output values may not fit into 32-bit integers.