三角足し算 (Triangle Addition)
日本語
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
5 1 3 5 7 9
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)\) である.
よって,これらの整数列を出力する.
7 1 2 3 4 3 2 1
3 5 7 7 5 3 8 12 14 12 8 20 26 26 20 46 52 46 98 98 196
10 1 9 2 4 4 9 2 3 5 6
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
JOI 2025 · JCIOI · CC BY-SA 4.0
Tags
No tags yet