atcoder#ARC118B. [ARC118B] Village of M People
[ARC118B] Village of M People
题目描述
ARC 国には 人の国民がおり、全国民が競技プログラミングのプレイヤーです。各国民にはその競技プログラミングの実力によって、 のいずれかひとつの段位が与えられています。
ARC 国では国勢調査が行われて、その結果、段位 の国民はちょうど 人居ることが分かりました。ARC 国の国王はこの統計データをより理解しやすい形にするために、なるべく各段位の人数の割合を保ったまま、ARC 国の状況を 人の村に例えることにしました。
人の村における段位 の村民の人数 を上手く定めることで、$ \max_i\left|\frac{B_i}{M}\ -\ \frac{A_i}{N}\right| $ を最小にしてください。ただし、次が成り立つ必要があります。
- 各 は非負整数で、 を満たす
そのような の定め方を、ひとつ出力してください。
输入格式
入力は以下の形式で標準入力から与えられます。
输出格式
条件を満たす整数列 の各要素を、空白で区切って 行で出力してください。
条件を満たす整数列が複数存在する場合は、どれを出力しても正解となります。
题目大意
原来有 个数,他们的总和为 ,现在希望在这些数之间的比值变化不大的情况下调整至总和为 ,如果有多种答案,输出其中一种即可。
3 7 20
1 2 4
3 6 11
3 3 100
1 1 1
34 33 33
6 10006 10
10000 3 2 1 0 0
10 0 0 0 0 0
7 78314 1000
53515 10620 7271 3817 1910 956 225
683 136 93 49 24 12 3
提示
制約
- 各 は非負整数で、 を満たす
Sample Explanation 1
この出力において、$ \max_i\left|\frac{B_i}{M}\ -\ \frac{A_i}{N}\right|\ =\ \max\left(\left|\frac{3}{20}-\frac{1}{7}\right|,\ \left|\frac{6}{20}-\frac{2}{7}\right|,\ \left|\frac{11}{20}-\frac{4}{7}\right|\right)\ =\ \max\left(\frac{1}{140},\ \frac{1}{70},\ \frac{3}{140}\right)\ =\ \frac{3}{140} $ となっています。
Sample Explanation 2
和を にしなければならないので、 では 条件が満たされないことに注意してください。 なおこの例においては、34 33 33
の他、33 34 33
や 33 33 34
という出力も正解となります。