‹ 上一题 下一题 ›

g5-08203. 定长去重 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLarray

题目描述

array 的长度定死在类型里,erase 删不掉元素——去重后「缩水」的部分只能靠有效长度来标记。读入 8 个整数存进 array<int, 8>:

  1. 先从小到大排序(自己写双循环的选择排序或插入排序,不许用 sort);
  2. 再用 unique(a.begin(), a.end()) 把相邻重复挪到区间尾部,它返回新逻辑末尾的迭代器;
  3. 用 it - a.begin() 算出去重后的个数 。

输出去重个数与去重升序结果。

输入格式

一行 8 个整数。

输出格式

第一行一个整数 :去重后的个数。

第二行 个整数:去重后从小到大,用空格分隔。

样例

输入:

4 1 4 5 1 4 9 9

输出:

4
1 4 5 9

排序后是 1 1 4 4 4 5 9 9,相邻重复合并后有效部分只剩 1 4 5 9——array 删不掉尾巴,个数得用返回值数出来。

数据范围

。提示:unique 只合并相邻重复,所以要先排序;array 没有 erase 可用,有效长度全靠 it - a.begin()。

输入
输出

            
答案