#P5595. 移除砖块
移除砖块
题面翻译
有 块砖块排列成一行,从左到右编号为 到 。每一个砖块都有一个重量,砖块 的重量为 。 Snuke 会对这些 个砖块执行如下操作:
- 选择一个还没有被移除的砖块,然后移除它。这个操作的代价是与被移除的砖块相邻的砖块(包括它自己)的重量之和。我们定义两块砖 和 是相邻的,当且仅当对于所有 ,砖块 仍然没有被移除。
有 种移除砖块的可能顺序。你需要对于所有可能的顺序计算出移除完所有 块砖块的代价,并计算这些代价的和。由于答案可能非常大,答案需要对 取模。
样例 #1
样例输入 #1
2
1 2
样例输出 #1
9
样例 #2
样例输入 #2
4
1 1 1 1
样例输出 #2
212
样例 #3
样例输入 #3
10
1 2 4 8 16 32 64 128 256 512
样例输出 #3
880971923