100 atcoder#ABC133D. [ABC133D] Rain Flows into Dams

[ABC133D] Rain Flows into Dams

题目描述

円形に N N 個の山が連なっており、時計回りに山 1 1 , 山 2 2 , , 山 N N と呼ばれます。N N 奇数です。

これらの山の間に N N 個のダムがあり、ダム 1 1 , ダム 2 2 , , ダム N N と呼ばれます。ダム i i (1  i  N 1\ \leq\ i\ \leq\ N ) は山 i i と山 i+1 i+1 の間にあります (山 N+1 N+1 は山 1 1 のことを指します)。

i i (1  i  N 1\ \leq\ i\ \leq\ N ) に 2x 2x リットルの雨が降ると、ダム i1 i-1 とダム i i にそれぞれ x x リットルずつ水が溜まります (ダム 0 0 はダム N N のことを指します)。

ある日、各山に非負の偶数リットルの雨が降りました。

その結果、ダム i i (1  i  N 1\ \leq\ i\ \leq\ N ) には合計で Ai A_i リットルの水が溜まりました。

各山に降った雨の量を求めてください。この問題の制約下では解が一意に定まることが証明できます。

输入格式

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

N N A1 A_1 A2 A_2 ... ... AN A_N

输出格式

1 1 , 山 2 2 , , 山 N N に降った雨の量を表す N N 個の整数をこの順に出力せよ。

题目大意

N N 座山,按顺时针编号依次为 1 1 号山,2 2 号山,以此类推。保证 N N 是奇数。在这些山脉之间,有 N N 座大坝,称为 1 1 号大坝,2 2 号大坝,以此类推。

i i 号大坝位于山脉 i i i+1 i+1 之间,由于山脉是环形分布的,所以山脉,山脉 N N 是山脉 0 0 N+1 N+1 是山脉 1 1

当山脉 i i 接收 2x 2x 升雨水,大坝 i1 i-1 号大坝和 i i 号大坝分别接到 x x 升水即将它收集到的水均分给两边大坝。

每天,每座山都接收到偶数升且水量不为负数的雨水,累计 a[i] a[i] 升水。

现在给出 大坝数量 N N 和 第 i i 个大坝收集的水量 a[i] a[i] ,请你出计算每座山的降水量。

可以证明,答案是唯一的。

3
2 2 4
4 0 4
5
3 8 7 5 5
2 4 12 2 8
3
1000000000 1000000000 0
0 2000000000 0

提示

制約

  • 入力は全て整数である。
  • 3  N  1051 3\ \leq\ N\ \leq\ 10^5-1
  • N N は奇数である。
  • 0  Ai  109 0\ \leq\ A_i\ \leq\ 10^9
  • 入力が表す状況は、各山に非負の偶数リットルの雨が降った際に発生しうる。

Sample Explanation 1

1, 2, 3 1,\ 2,\ 3 に降った雨の量をそれぞれ 4 4 リットル, 0 0 リットル, 4 4 リットルとすると以下のように辻褄が合います。 - ダム 1 1 には 42 + 02 = 2 \frac{4}{2}\ +\ \frac{0}{2}\ =\ 2 リットルの水が溜まります。 - ダム 2 2 には 02 + 42 = 2 \frac{0}{2}\ +\ \frac{4}{2}\ =\ 2 リットルの水が溜まります。 - ダム 3 3 には 42 + 42 = 4 \frac{4}{2}\ +\ \frac{4}{2}\ =\ 4 リットルの水が溜まります。