A172802.数值档案
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:256MB
题目描述
Yuilice 正在整理欢乐训练营的 n 条整数记录,记录值依次为 a1,a2,…,an。他需要为每一种不同的数值建立一条档案。
“序列”就是按输入顺序排列的一列数,ai 表示第 i 条记录的数值。相同数值只建立一条档案。
一条档案包含三个整数:
- 该数值;
- 该数值在原序列中的出现次数;
- 该数值在原序列中所有出现位置之和。
位置从 1 开始编号。请帮助 Yuilice 按照数值从小到大的顺序输出全部档案。
“位置”指这条记录原来排在第几个,与记录本身的数值不同。输出时调整档案顺序,不改变这些原位置。
输入格式
第一行输入一个整数 n。
第二行输入 n 个整数 a1,a2,…,an。
输出格式
第一行输出一个整数 k,表示不同数值的数量。
接下来 k 行,每行输出一条档案的“数值、出现次数、位置之和”,相邻整数用一个空格分隔。
输入输出样例
输入#1
7 5 2 5 2 2 8 5
输出#1
3 2 3 11 5 3 11 8 1 6
输入#2
6 3 -1 3 7 -1 3
输出#2
3 -1 2 7 3 3 10 7 1 4
说明/提示
样例 #1 解释
样例中的七条记录按输入顺序编号:
| 原位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 数值 | 5 | 2 | 5 | 2 | 2 | 8 | 5 |
只有 2、5、8 三种不同数值,因此第一行输出 3。
- 数值 2 出现 3 次,原位置为 2、4、5,位置之和为 11,输出
2 3 11。 - 数值 5 出现 3 次,原位置为 1、3、7,位置之和为 11,输出
5 3 11。 - 数值 8 出现 1 次,原位置为 6,输出
8 1 6。
档案按照数值 2、5、8 从小到大输出,位置仍使用上表中的原位置。
数据范围
对于所有测试数据,满足:
- 1≤n≤2×105;
- −109≤ai≤109。
输入解题思路,AI测评打分。不知道怎么写?