#P13844. [codefestival2017_quala]Squeezing Slimes
[codefestival2017_quala]Squeezing Slimes
题目描述
有 只史莱姆横向排成一行。最初,所有史莱姆的大小都是 。
すぬけ君可以重复进行以下操作:
- 选择一个正的偶数 。选择连续的 只史莱姆,将它们分别按照从左到右的第 、……、 只史莱姆组成一组,两两配对。然后,每组中的 只史莱姆合成为 只史莱姆,合成后的史莱姆大小等于合成前两只史莱姆大小之和。合成后得到 只史莱姆,并保持合成前各组的顺序不变。
すぬけ君的目标是让史莱姆恰好剩下 只,并且第 只史莱姆的大小恰好为 ()。请你求出すぬけ君达成目标所需的最小操作次数。
注意, 不作为输入给出,而是 。
输入格式
输入按如下格式从标准输入读入:
输出格式
请输出すぬけ君达成目标所需的最小操作次数。
输入输出样例 #1
输入 #1
2
3 3
输出 #1
2
输入输出样例 #2
输入 #2
4
2 1 2 2
输出 #2
2
输入输出样例 #3
输入 #3
1
1
输出 #3
0
输入输出样例 #4
输入 #4
10
3 1 4 1 5 9 2 6 5 3
输出 #4
10
说明/提示
限制条件
- 是整数。
样例解释 1
可以按如下方式进行操作。操作对象的史莱姆用粗体表示。
- (1, 1, 1, 1, 1, 1) → (1, 2, 2, 1)
- (1, 2, 2, 1) → (3, 3)
样例解释 2
可以按如下方式进行操作:
- (1, 1, 1, 1, 1, 1, 1) → (2, 1, 1, 1, 1, 1)
- (2, 1, 1, 1, 1, 1) → (2, 1, 2, 2)