#P1074. 【模板】离散化

    ID: 86 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 普及 ← 上一题 下一题 → 随机一题 上传者: 标签 模板题 离散化 排序 二分查找 双指针
显示设置

【模板】离散化

题目描述

给定 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n,把它们离散化:求出每个数在「所有出现过的不同数值」中从小到大排第几(编号从 11 开始,数值相同的编号相同)。

输入格式

第一行一个整数 nn。

第二行 nn 个整数。

输出格式

一行 nn 个整数,第 ii 个数表示 aia_i 离散化后的编号。

输入输出样例 #1

输入 #1

5
10 5 10 3 5

输出 #1

3 2 3 1 2

说明

数据范围

  • 对于 100%100\% 的数据,1≤n≤1051\le n\le 10^5,∣ai∣≤109|a_i|\le 10^9。数值本身可能大到 10910^9,不能直接当数组下标,但真正出现过的不同数值最多只有 nn 个。