#ABC209F. 伐木
伐木
伐木
题目描述
有 棵树从左到右排成一排。从左数第 棵树()Tree 的高度为 。
现在按你喜欢的某种顺序砍掉全部 棵树。形式上,你选择一个 的排列 ,并按顺序对每个 执行以下操作:
砍掉 Tree ,即把 设为 ,代价为 。
这里,假设 。
换句话说,砍一棵树的代价是砍之前这棵树与相邻树的高度之和。
求使砍掉所有树的总体代价最小的排列 的个数。由于个数可能很大,输出对 取模的结果。
输入格式
输入按以下格式从标准输入给出:
输出格式
输出使总体代价最小的排列 的个数对 取模的结果。
样例
3
4 2 4
2
使总体代价最小的排列 有两个: 和 。
下面以 为例展示砍树过程。
首先,砍掉 Tree ,代价为 。
接着,砍掉 Tree ,代价为 。
最后,砍掉 Tree ,代价为 。
总代价为 。
3
100 100 100
6
15
804289384 846930887 681692778 714636916 957747794 424238336 719885387 649760493 596516650 189641422 25202363 350490028 783368691 102520060 44897764
54537651
务必输出对 取模后的结果。
数据范围
- 输入中所有值均为整数
难度
提高+/省选
通过率
—
尝试
0
已通过
0
- ID
- 2668
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者