AT_past202309_d 相対評価のスコア
题目描述
你举办了一场程序设计比赛。一共有 $N$ 名参赛者,第 $i$ 名参赛者得分为 $A_i$ 分。
为了使所有人的分数都变成 $0$ 到 $10^9$ 范围内的整数(包含 $0$ 和 $10^9$),你打算对每一位参赛者 $i=1,2,\ldots,N$ 按照如下公式计算其“相对分数”:
- $\operatorname{round}\left(10^9\times\dfrac{A_i}{\max_i A_i}\right)$
其中,$\max_i A_i$ 表示所有 $A_i$ 中的最大值,$\operatorname{round}(x)$ 表示四舍五入取整到最近的整数。更正式地,$\max_i A_i$ 为满足对所有 $j(1\leq j\leq N)$ 有 $A_j\leq A_i$ 的 $A_i$,而 $\operatorname{round}(x)$ 为唯一满足 $n-\dfrac{1}{2}\leq x < n+\dfrac{1}{2}$ 的整数 $n$。
请计算第 $i$ 名参赛者的相对分数($i=1,2,\ldots,N$)。
输入格式
输入从标准输入读入,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
请按照 $i$ 从小到大的顺序,在一行内用空格隔开输出每位选手的相对分数。
说明/提示
### 样例解释 1
每位参赛者的相对分数计算如下:
$\max_i A_i = A_2 = 600$,因为 $A_1 \leq A_2, A_2 \leq A_2, A_3 \leq A_2$。
- 第 $1$ 名参赛者得分为 $A_1=200$。$10^9\times\dfrac{200}{600}=\dfrac{10^9}{3}$,而 $333333333-\dfrac{1}{2}\leq\dfrac{10^9}{3}