/ WHOJ / 题库 /

分堆方法

分堆方法

题目描述

FJ 的农场开始了一年一度的大考,农场的 \(n\) 头奶牛站在一排,每头奶牛面前放着一筐玉米棒,FJ 让每头奶牛把自己面前的玉米棒分成更多堆,要求筐里分出的每一堆的玉米棒的个数恰好是一个连续的。如果有多种分堆方式,要求使用最小堆的玉米棒个数最多的分法。

格式

输入格式

输入第 \(1\) 行一个整数 \(n\),表示 \(n\) 头奶牛。

接下来输入 \(n\) 行,每行一个整数 \(a_i\),表示每头奶牛面前的筐里装的玉米棒个数。

输出格式

输出 \(n\) 行,每行输出多个用空格隔开的整数,表示该筐里的玉米棒的分法,从小到大输出。

注意:

\(1.\) 如果某个奶牛面前的玉米棒没办法按要求分堆,那么输出 \(NO\)。

\(2.\) 输出的每一行尾部不能加空格,需要直接换行。

样例1

样例输入1

7
3
15
44
37
98
83
3

样例输出1

1 2
7 8
2 3 4 5 6 7 8 9
18 19
23 24 25 26
41 42
1 2

限制

\(1<=n<=1000,1<=a_i<=10^{9}\)。

来源

地址:\(\text{Online~Judge}\)
作者:\(hoogy\)
模拟赛\(T3\)