5002 - 【模板】离散化

离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。

这道题要求离散化后数据应该尽量小,并且离散化之后的每个元素都应为正整数。

例如{-10000,100,-998244353,100,469762049}离散化之后应该为{2,3,1,3,4}

现在要求你对一个长度为n的序列进行离散化。

输入

第一行一个数表示n

第二行n个数,第i个数表示序列的第i个元素,每两个元素之间用一个空格隔开。

输出

一行n个数,表示离散化之后的序列。

样例

输入

5
-10000 100 -998244353 100 469762049

输出

2 3 1 3 4

提示

1\leq n\leq5\times10^5,|a_i|\leq2\times10^9

没有部分分!

时间限制 1 秒
内存限制 128 MB
统计
上一题 下一题