人はN作業単位を完了しなければなりません。仕事の性質は同じです。
仕事のこつを得るために、彼は初日に1つの作業単位のみを完了します。
彼は作業の完了を祝うことを望んでいるので、最終日に1つの作業単位を完了することにします。
彼は唯一完了させることができx、x+1またはx-1日中の仕事の単位、x前日に完了した作業の単位です。
あなたの仕事は、彼が作業単位を完了するのにかかる最小日数を計算するプログラムまたは関数を作成することNです。
サンプル入力と出力:
input -> output (corresponding work_per_day table)
-1    -> 0      []
0     -> 0      []
2     -> 2      [1,1]
3     -> 3      [1,1,1]
5     -> 4      [1,1,2,1] or [1,2,1,1]
9     -> 5      [1,2,3,2,1]
13    -> 7      [1,2,2,2,3,2,1]
入力はSTDIN、関数の引数として、または関数の引数として、または適切な方法で取得できます。
出力は、印刷したり、関数の結果として、または適切な方法で出力したりできます。
これはコードゴルフです。最短のソリューションが優先されます。