No.846 メダル
タグ : / 解いたユーザー数 262
作問者 : chocorusk / テスター : zunda1st
問題文
yuki国である数学のコンテストが行われ、参加者全員に相異なる順位がつきました。このコンテストでは、次のように参加者の一部にメダルが授与されます。
- 参加者の総数を $N$ とする。
- 上位 $\lceil N/P\rceil$ 人に金メダルが授与される。
- 上位 $\lceil N/Q\rceil$ 人のうち、まだメダルを授与されていない人全員に銀メダルが授与される。
- 上位 $\lceil N/R\rceil$ 人のうち、まだメダルを授与されていない人全員に銅メダルが授与される。
ただし、実数 $x$ に対し $\lceil x\rceil$ で $x$ 以上の整数のうち最小のもの (つまり $x$ の小数点以下を切り上げた値) を表します。
ラスク君は、参加者の総数 $N$ は知りませんが、金、銀、銅メダルを授与された人数がそれぞれ $A$, $B$, $C$ であることをニュースで聞きました。
参加者の総数 $N$ としてありうる値が存在するか判定し、存在するなら $N$ の最小値と最大値をそれぞれ求めてください。
入力
$P\ Q\ R$ $A\ B\ C$
- $2\leq R < Q < P \leq 10^9$
- $0\leq A, B, C\leq 10^9$
- $A > 0$
- 入力はすべて整数である。
出力
参加者の総数 $N$ としてありうる値が存在しなければ、$-1$ を単独で出力せよ。存在する場合は、最小値と最大値をこの順に空白区切りで出力せよ。
サンプル
サンプル1
入力
12 4 2 9 16 25
出力
99 100
例えば参加者が $100$ 人の場合、
- まず、上位 $\lceil 100/12\rceil =9$ 人に金メダルが授与されます。
- 次に、上位 $\lceil 100/4\rceil =25$ 人のうち金メダルを授与されていない $16$ 人に銀メダルが授与されます。
- 次に、上位 $\lceil 100/2\rceil =50$ 人のうち金、銀メダルを授与されていない $25$ 人に銅メダルが授与されます。
サンプル2
入力
6 3 2 3 3 4
出力
-1
金、銀、銅メダルの人数がそれぞれ $3$ 人、$3$ 人、$4$ 人となることはありえません。ニュースは嘘です。
サンプル3
入力
7 5 3 1 0 0
出力
1 3
サンプル4
入力
789123456 456789123 123456789 157 114 729
出力
123333332212 123456789000
答えが $32$ ビット整数型に収まらない場合があることに注意してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。