問題一覧 > 通常問題

No.846 メダル

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 258
作問者 : chocoruskchocorusk / テスター : zunda1stzunda1st
11 ProblemId : 2860 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2019-07-05 21:10:44

問題文

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もしくは右上の雲マークをクリックしてアカウントを作成してください。