atcoder#CODEFESTIVAL2016FINALB. Exactly N points

Exactly N points

题目描述

ある年のCODE FESTIVALの決勝では N N 問の問題が出題されました。

i (1iN) i\ (1≦i≦N) 番目の問題の配点は i i 点です。

高橋くんは、このコンテストでちょうど N N 点を取りたいと思い、そのために解く問題の集合をどうするかを考えています。

配点が高い問題は難しいので、解く問題の配点のうちの最大値が最小になるようにしようと考えました。

高橋くんが解くべき問題の集合を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N

输出格式

点数の合計がちょうど N N となるような集合のうち、配点の最大値が最小となるようなものを求め、その集合に含まれる問題の番号を 1 1 行にひとつずつ出力せよ。昇順に出力する必要はありません。

そのような集合が複数考えられる場合は、いずれを出力しても構わない。

题目大意

nn 分拆为若干个互不相同的正整数的和,使得它们的最大值最小。从小到大输出这个分拆。

4
1
3
7
1
2
4
1
1

提示

制約

  • 1N107 1≦N≦10^7

部分点

  • 1N1000 1≦N≦1000 を満たすデータセットに正解した場合は、200 200 点が与えられる。
  • 追加制約のないデータセットに正解した場合は、上記とは別に 100 100 点が与えられる。

Sample Explanation 1

4 4 番目の問題のみを解いた場合もちょうど 4 4 点が得られますが、1,3 1,3 番目の問題を解く方が配点の最大値が小さくなります。

Sample Explanation 2

{3,4} \{3,4\} という集合も考えられます。