Skip to content

三角足し算 (Triangle Addition)

Unrated
日本語

Language

Contribute a translation
Time limit
2000 ms
Memory limit
1024 MB
Submissions
0
Correct
0
Solved by
0
AC rate
—

Statement

\(N\) 個の整数が黒板に左から右に書いてある.

左から \(i\) 番目 (\(1 \leqq i \leqq N\)) の整数は \(A_i\) である.

黒板に書いてある整数列に対し,以下の操作を繰り返し行う.


操作

現在黒板の一番下の行に書いてある整数列の長さを \(k\) とおく. この整数列の値を参照しながら,下に次のような長さ \(k - 1\) の新たな整数列を作り書き加える.

  • \(i=1, 2, \cdots , k-1\) について,\(i\) 番目の整数が,参照元の整数列の左から \(i\) 番目と \(i+1\) 番目の整数の合計となっている.


この操作を \(N-1\) 回行うとき,黒板に書き加える整数列をすべて求めよ.

Constraints

  • \(2 \leqq N \leqq 10\).
  • \(1 \leqq A_i \leqq 10\) (\(1 \leqq i \leqq N\)).
  • 入力される値はすべて整数である.

Input

入力は以下の形式で与えられる.

\(N\)
\(A_1\) \(A_2\) \(\cdots\) \(A_N\)

Output

\(N - 1\) 回の操作において黒板に書き込む整数列を, \(N-1\) 行ですべて出力せよ.

\(i\) 行目 (\(1 \leqq i \leqq N\)) には,\(i\) 回目の操作において黒板に書き込む整数列を空白区切りで出力せよ.

答え以外は何も出力しないこと.(入力を促す文章なども出力しないこと.)

解答形式については,練習問題やその解答例 を参考にしても良い.

Examples

Sample input 1
5
1 3 5 7 9
Sample output 1
4 8 12 16
12 20 28
32 48
80

初め,黒板には整数列 \((1, 3, 5, 7, 9)\) が書かれている.

この整数列を参照し作られる新しい整数列は,

  • \(1 + 3 = 4\)
  • \(3 + 5 = 8\)
  • \(5 + 7 = 12\)
  • \(7 + 9 = 16\)

より, \((4, 8, 12, 16)\) である.

この整数列を参照し作られる新しい整数列は,

  • \(4 + 8 = 12\)
  • \(8 + 12 = 20\)
  • \(12 + 16 = 28\)

より,\((12, 20, 28)\) である.

この整数列を参照し作られる新しい整数列は,

  • \(12 + 20 = 32\)
  • \(20 + 28 = 48\)

より,\((32, 48)\) である.

この整数列を参照し作られる新しい整数列は,

  • \(32 + 48 = 80\)

より,\((80)\) である.

よって,これらの整数列を出力する.

Sample input 2
7
1 2 3 4 3 2 1
Sample output 2
3 5 7 7 5 3
8 12 14 12 8
20 26 26 20
46 52 46
98 98
196
Sample input 3
10
1 9 2 4 4 9 2 3 5 6
Sample output 3
10 11 6 8 13 11 5 8 11
21 17 14 21 24 16 13 19
38 31 35 45 40 29 32
69 66 80 85 69 61
135 146 165 154 130
281 311 319 284
592 630 603
1222 1233
2455

Notes

Tags

No tags yet

Source