A172802.数值档案

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:256MB

题目描述

Yuilice 正在整理欢乐训练营的 nn 条整数记录,记录值依次为 a1,a2,…,ana_1,a_2,\ldots,a_n。他需要为每一种不同的数值建立一条档案。

“序列”就是按输入顺序排列的一列数,aia_i 表示第 ii 条记录的数值。相同数值只建立一条档案。

一条档案包含三个整数:

  1. 该数值;
  2. 该数值在原序列中的出现次数;
  3. 该数值在原序列中所有出现位置之和。

位置从 11 开始编号。请帮助 Yuilice 按照数值从小到大的顺序输出全部档案。

“位置”指这条记录原来排在第几个,与记录本身的数值不同。输出时调整档案顺序,不改变这些原位置。

输入格式

第一行输入一个整数 nn。

第二行输入 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

第一行输出一个整数 kk,表示不同数值的数量。

接下来 kk 行,每行输出一条档案的“数值、出现次数、位置之和”,相邻整数用一个空格分隔。

输入输出样例

  • 输入#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

只有 22、55、88 三种不同数值,因此第一行输出 33。

  • 数值 22 出现 33 次,原位置为 22、44、55,位置之和为 1111,输出 2 3 11。
  • 数值 55 出现 33 次,原位置为 11、33、77,位置之和为 1111,输出 5 3 11。
  • 数值 88 出现 11 次,原位置为 66,输出 8 1 6。

档案按照数值 22、55、88 从小到大输出,位置仍使用上表中的原位置。

数据范围

对于所有测试数据,满足:

  • 1≤n≤2×1051\le n\le 2\times10^5;
  • −109≤ai≤109-10^9\le a_i\le 10^9。

输入解题思路,AI测评打分。不知道怎么写?

首页