#6848. 编号清点

编号清点

编号清点

题目描述

一次活动结束后,工作人员收回了 (n) 张记录卡。每张记录卡上写有一个编号,编号可能重复。

为了核对记录,工作人员需要制作一份清单。清单应满足以下要求:

  1. 只记录至少出现过一次的编号;
  2. 编号按照从小到大的顺序排列;
  3. 每个编号后面记录该编号对应的卡片数量。

请你根据收回的记录卡,生成这份清单。

输入格式

第一行包含一个整数 (n),表示记录卡的数量。

第二行包含 (n) 个整数 (a_1,a_2,\ldots,a_n),其中 (a_i) 表示第 (i) 张记录卡上的编号。

输出格式

按照编号从小到大的顺序,输出所有至少出现过一次的编号。

每个编号占一行,格式如下:

编号: 数量

冒号为英文冒号,冒号后有一个空格。

输入输出样例

输入样例 1

8
5 3 3 5 2 2 2 1

输出样例 1

1: 1
2: 3
3: 2
5: 2

样例说明

编号 (1) 出现了 (1) 次,编号 (2) 出现了 (3) 次,编号 (3) 和编号 (5) 均出现了 (2) 次。

编号 (0)、(4) 以及其他没有出现的编号不需要输出。

数据范围

对于所有测试数据,保证:

1n1051 \le n \le 10^5

0ai200 \le a_i \le 20

所有输入数据均为整数。

测试点说明

测试点编号 难度层级 n 数据范围 特殊性质 设计目的
1 弱数据 1 0~0 最小规模、下边界 检查单个数字及数字 0 的统计
2 5 20~20 全部相同、上边界 检查重复计数及数字 20 的统计
3 正常数据 10 0~20 乱序、重复、分布不连续 检查一般计数、升序输出及空桶跳过
4 11 降序输入、仅含偶数 检查输出顺序是否独立于输入顺序
5 极限数据 42 全值域、每个数出现两次 检查全部 21 个桶及两个边界桶