AT_past202309_d 相対評価のスコア
Description
あなたは、プログラミングコンテストを主催しました。 コンテストには $ N $ 人が参加し、 $ i (1\leq i\leq N) $ 番目の参加者は $ A _ i $ 点を得ました。
あなたは、全員のスコアを $ 0 $ 以上 $ 10^9 $ 以下の整数にするために、 $ i=1,2,\ldots,N $ について次の式で $ i $ 番目の参加者の相対スコアを計算することにしました。
- $ \operatorname{round}\left(10^9\times\dfrac{A _ i}{\max _ iA _ i}\right) $
ただし、 $ \max _ iA _ i $ は $ A _ i $ のうち最大のものを、 $ \operatorname{round}(x) $ は $ x $ を四捨五入して整数にしたものを表します。 厳密には、 $ \max _ iA _ i $ は $ A _ i $ のうちすべての整数 $ j (1\leq j\leq N) $ について $ A _ j\leq A _ i $ を満たすようなものを表し、 $ \operatorname{round}(x) $ は $ n-\dfrac12\leq x\lt n+\dfrac12 $ を満たす唯一の整数 $ n $ を表します。
$ i=1,2,\ldots,N $ について、 $ i $ 番目の参加者の相対スコアを計算してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A _ 1 $ $ A _ 2 $ $ \ldots $ $ A _ N $
Output Format
$ i $ 番目 $ (1\leq i\leq N) $ の参加者の相対スコアを、 $ i $ の昇順に空白区切りで $ 1 $ 行に出力せよ。
Explanation/Hint
### Sample Explanation 1
それぞれの参加者の相対スコアは、以下のように計算されます。
$ A _ 1\leq A _ 2,A _ 2\leq A _ 2,A _ 3\leq A _ 2 $ が成り立つので、 $ \max _ iA _ i=A _ 2=600 $ です。
- $ 1 $ 番目の参加者の得点は $ A _ 1=200 $ 点です。 $ 10^9\times\dfrac{200}{600}=\dfrac{10^9}3 $ で、 $ 333333333-\dfrac12\leq\dfrac{10^9}3\lt333333333+\dfrac12 $ なので、 $ 1 $ 番目の参加者の相対スコアは $ 333333333 $ です。
- $ 2 $ 番目の参加者の得点は $ A _ 2=600 $ 点です。 $ 10^9\times\dfrac{600}{600}=10^9 $ で、 $ 1000000000-\dfrac12\leq10^9\lt1000000000+\dfrac12 $ なので、 $ 2 $ 番目の参加者の相対スコアは $ 1000000000 $ です。
- $ 3 $ 番目の参加者の得点は $ A _ 3=300 $ 点です。 $ 10^9\times\dfrac{300}{600}=5\times10^8 $ で、 $ 500000000-\dfrac12\leq5\times10^8\lt500000000+\dfrac12 $ なので、 $ 3 $ 番目の参加者の相対スコアは $ 500000000 $ です。
### Constraints
- $ 1\leq N\leq10^5 $
- $ 1\leq A _ i\leq10^9 (1\leq i\leq N) $
- 入力はすべて整数