luogu#P10194. [USACO24FEB] Milk Exchange G

[USACO24FEB] Milk Exchange G

题目描述

Farmer John 的 NN1N51051\le N \le 5\cdot 10^5)头奶牛排成一圈。第 ii 头奶牛有一个容量为整数 aia_i1ai1091\le a_i\le 10^9)升的桶。所有桶初始时都是满的。

每一分钟,对于 1i<N1\le i<N,奶牛 ii 会将其桶中所有牛奶传递给奶牛 i+1i+1,奶牛 NN 将其牛奶传递给奶牛 11。所有交换同时发生(即,如果一头奶牛的桶是满的,送出 xx 升牛奶同时收到 xx 升,则她的牛奶量保持不变)。如果此时一头奶牛的牛奶量超过 aia_i,则多余的牛奶会损失。

1,2,,N1,2,\ldots,N 的每一分钟后,所有奶牛总共还余下多少牛奶?

输入格式

输入的第一行包含 NN

第二行包含 a1,a2,,aNa_1,a_2,\ldots,a_N

输出格式

输出 NN 行,其中第 ii 行包含 ii 分钟后所有奶牛总共余下的牛奶量。

6
2 2 2 1 2 1
8
7
6
6
6
6
8
3 8 6 4 8 3 8 1
25
20
17
14
12
10
8
8
10
9 9 10 10 6 8 2 1000000000 1000000000 1000000000
2000000053
1000000054
56
49
42
35
28
24
20
20

提示

样例解释 1

最初,每个桶中的牛奶量为 [2,2,2,1,2,1][2,2,2,1,2,1]

  • 11 分钟后,每个桶中的牛奶量为 [1,2,2,1,1,1][1,2,2,1,1,1],因此总牛奶量为 88
  • 22 分钟后,每个桶中的牛奶量为 [1,1,2,1,1,1][1,1,2,1,1,1],因此总牛奶量为 77
  • 33 分钟后,每个桶中的牛奶量为 [1,1,1,1,1,1][1,1,1,1,1,1],因此总牛奶量为 66
  • 44 分钟后,每个桶中的牛奶量为 [1,1,1,1,1,1][1,1,1,1,1,1],因此总牛奶量为 66
  • 55 分钟后,每个桶中的牛奶量为 [1,1,1,1,1,1][1,1,1,1,1,1],因此总牛奶量为 66
  • 66 分钟后,每个桶中的牛奶量为 [1,1,1,1,1,1][1,1,1,1,1,1],因此总牛奶量为 66

样例解释 2

11 分钟后,每个桶中的牛奶量为 [1,3,6,4,4,3,3,1][1,3,6,4,4,3,3,1],因此总牛奶量为 2525

测试点性质

  • 测试点 454-5N2000N\le 2000
  • 测试点 686-8ai2a_i\le 2
  • 测试点 9139-13:所有 aia_i 在范围 [1,109][1,10^9] 内均匀随机生成。
  • 测试点 142314-23:没有额外限制。