#P0194. C. 放豆子(bean)
C. 放豆子(bean)
题目描述
你有 个茶碗,它们排成一排,从左往右依次编号 。
对于 号碗和它右边的碗, 号碗上面写有一个数字 ,里面装有 颗豆子; 号碗上面没有数字,碗里没有豆子。
你将执行以下操作若干次:
- 选择一个带有数字的、装有豆子的碗 ,拿走其中的一部分豆子(可以全拿);
- 将你拿出的豆子任意放入 号碗中,你放入的豆子数总和要等于你从 号碗中拿出的豆子数。
请你求出让所有豆子都被放入 号碗的最小操作次数。
输入格式
第一行一个整数 。
第二行 个整数 。
第三行 个整数 。
保证 ,即不会出现所有碗里都没有豆子的情况。
输出格式
输出一个整数表示答案。
输入输出样例 #1
输入 #1
5
1 1 2 1
1 0 0 1
输出 #1
3
输入输出样例 #2
输入 #2
6
1 2 1 3 1
1 1 0 1 1
输出 #2
4
输入输出样例 #3
输入 #3
16
1 1 1 2 5 1 1 3 4 1 4 3 1 1 2
1 0 0 0 1 0 0 1 1 0 0 0 0 0 1
输出 #3
7
说明/提示
样例 1 解释
以下是一种可能的操作序列:
- 从 号碗里拿出 颗豆子,将其放入 号碗;
- 从 号碗里拿出 颗豆子,将其放入 号碗;
- 从 号碗里拿出 颗豆子,将其放入 号碗。
花费 次操作完成了题目的要求。可以证明这是可能的最小操作次数。
样例 2 解释
以下是一种可能的操作序列:
- 从 号碗里拿出 颗豆子,将其放入 号碗;
- 从 号碗里拿出 颗豆子, 颗放入 号碗, 颗放入 号碗;
- 从 号碗里拿出 颗豆子,将其放入 号碗;
- 从 号碗里拿出 颗豆子,将其放入 号碗。
花费 次操作完成了题目的要求。可以证明这是可能的最小操作次数。
测试数据
| 数据点 | 规模(N) | 特点 |
|---|---|---|
| 1 | 2 | |
| 2 | 5 | |
| 3 | 8 | |
| 4 | 30 | 只有一个有豆子 |
| 5 | 200 | |
| 6 | 800 | |
| 7 | 2000 | 全是豆子 |
| 8 | 只有一个豆子 | |
| 9 | ||
| 10 |
相关
在下列比赛中: