AT_codefestival_2016_final_b Exactly N points
题目描述
在某一年的 CODE FESTIVAL 决赛中,共有 $N$ 道题目被出题。
第 $i$ 道题目的分值为 $i$ 分。
高桥君希望在本次比赛中恰好获得 $N$ 分,为此他正在思考应该选择哪些题目来解答。
由于分值高的题目通常更难,他希望在所有分值之和恰好为 $N$ 的题目集合中,使得所选题目分值的最大值尽可能小。
请你求出高桥君应该解答的题目集合。
输入格式
输入为以下格式,从标准输入读取。
> $N$
输出格式
请输出一个集合,使得所选题目的分值之和恰好为 $N$,并且集合中分值的最大值最小。将该集合中题目的编号逐行输出,每行输出一个编号。无需按升序输出。
如果存在多个满足条件的集合,输出其中任意一个均可。
说明/提示
### 限制
- $1 \leq N \leq 10^7$
### 部分得分
- 若能正确解决 $1 \leq N \leq 1000$ 的数据集,将获得 $200$ 分。
- 若能正确解决无额外限制的数据集,将获得上述 $200$ 分之外的 $100$ 分。
### 样例解释 1
只解答第 $4$ 题也可以恰好获得 $4$ 分,但选择第 $1$ 和第 $3$ 题可以使所选题目的最大分值更小。
### 样例解释 2
集合 $\{3,4\}$ 也是一种可行的选择。
由 ChatGPT 4.1 翻译