U232423 【模板】离散化
题目背景
**请注意 $a_i$ 的范围,使用合适的数据类型。**
**尤其是 $40$ 分且 \#4,\#5,\#6,\#8,\#9,\#10 WA 时。**
---
离散化。
离散化本质上可以看成是一种[哈希](https://oi.wiki/string/hash/),其保证数据在哈希以后仍然保持原来的全/偏序关系。
通俗地讲就是当有些数据因为本身很大或者类型不支持,自身无法作为数组的下标来方便地处理,而影响最终结果的只有元素之间的相对大小关系时,我们可以将原来的数据按照从大到小编号来处理问题,即离散化。
用来离散化的可以是大整数、浮点数、字符串等等。
—— [OI Wiki](https://oi.wiki/misc/discrete/)
题目描述
输入一个数列 $a$,输出数列 $b$,$b_i$ 为 $a_i$ 在所有数值中的排名。
$x$ 的排名定义为 $a$ 中小于 $x$ 的数值的种类数 $+1$ **(相同的数值只算一次)**。
输入格式
第一行为一个整数 $n$,表示 $a$ 的长度。
第二行 $n$ 个整数,第 $i$ 个表示 $a_i$。
输出格式
一行,$n$ 个整数,表示 $b$。
说明/提示
对于 $100\%$ 的数据,$1 \le n \le 2\times10^5$,$-10^{18}\le a_i \le 10^{18}$。
本题不卡 Python。