/ TYWZ / 题库 /

Iota Extraction

Iota Extraction

题目描述

给定一个长为\(N\)的序列\(\{a_i\},i=1,2 \cdots N\),对其进行如下操作若干次:
(1)从序列中挑选出若干个递增的数\(v, v+1, v+2 \cdots v+(k-1)\)(这几个数在原序列中的位置不作要求),要求选出的个数\(k\)尽可能大,并且在\(k\)最大的前提下使第一个数\(v\)尽可能小;
(2)将这\(k\)个数从序列中移除,如果余下的序列为空则停止操作,否则继续执行第1步。
例如:\(N=16, \{a_i\} = \{1,2,2,3,3,4,5,6,6,6,7,7,7,10,11,12\}\)
第1次操作,选出\(\{1,2,3,4,5,6,7\}\),余下\(\{2,3,6,6,7,7,10,11,12\}\);
第2次操作,选出\(\{10,11,12\}\),余下\(\{2,3,6,6,7,7\}\);
第3次操作,选出\(\{2,3\}\),余下\(\{6,6,7,7\}\);
第4次操作,选出\(\{6,7\}\),余下\(\{6,7\}\);
第5次操作,选出\(\{6,7\}\),余下序列为空,结束操作。
输入序列\(\{a_i\}\),按要求的格式输出每次操作。

I/O格式

输入

第一行是一个正整数\(N\),表示序列长度;
第二行是\(N\)个正整数\(a_1, a_2 \cdots a_N\),表示该序列。

输出

设操作的总次数为\(C\),则输出\(C\)行依次描述每一步操作。每行两个正整数\(v,k\),分别表示选出的数的最小值以及个数(详见“题目描述”部分),中间用1个空格隔开。

样例

输入

16
1 2 2 6 11 7 7 10 5 6 12 3 3 4 6 7

输出

1 7
10 3
2 2
6 2
6 2

数据规模及约定

50%的数据:\(N \le 100\)
100%的数据:\(N \le 10^4, a_i \le 10^4\)

限制

1s, 64MB

来源

原创题

信息

难度
7
分类
数据结构 | 模拟 点击显示
标签
(无)
递交数
70
已通过
14
通过率
20%
上传者