1232. 笨笨的果实采摘

时间限制 1000 ms   内存限制 128 MB

笨笨在小山顶上种了一棵果树,秋天了,果树结出了许多许多的果子,笨笨要去摘果子。 这是一棵可以结出$3$种不同果实的树,它的果实长在树枝的分叉处和树顶上。 果实分$3$种:普通果实、奇异果实和稀有果实。 这颗树的第一个分叉可以用一个$2$进制码表示(也就是许多的`1`和`0`), 而第一个分叉又分成$2$个分叉,分别用第一个分叉的前半段和后半段表示(从中间分开), 其他分叉也如此。分叉分到最后只剩下`1`或`0`时就成了树顶。 每个分叉只能分成$2$个分叉。 表示这棵树第一个分叉的$2$进制码必定是$2$的乘方位。 例如: ``` 1 0 1 0 \ / \ / 10 10 \ / 1010 ``` 这就是一棵笨笨种的树。 三种果实的分辨方式为: 普通果实:既有`1`又有`0`; 奇异果实:只有`1`; 稀有果实:只有`0`。 每种果实的价值不同,普通果实$1$元,奇异果实$2$元,稀有果实$5$元。 笨笨能摘到的果实范围是一定的,他想知道他所能摘到果实的总价值。 像刚刚所示的`1010`树,它有$3$个普通果实,$2$个奇异果实和$2$个稀有果实, 若笨笨能摘到最高$2$,最低$0$,那么他就能得到所有的果实,果实的总价值为$3\times 1+2 \times 2+5\times 2=17$元。

输入数据

第一行一个数$n$,表示这个$2$进制码的位数是$2$的多少次乘方(即长度为$2^n,0 \le n \le 15$)。
第二行$2$个数$u, d$,表示笨笨可以摘到的最大高度和最小高度($0 \le d \le u \le 100000$)。
第三行为表示第一个分叉的位数为$2^n$位的$2$进制数。

输出数据

一个数,笨笨所能摘到果子的最大总价值。

样例输入

复制
3
3 0
10001011 \n
 · \n
        \n

样例输出

复制
40  \n

样例说明

第一个分叉的高度为$0$,后面的依次递增,每层加$1$。
样例解释:可以有$4$层共$15$个分叉(包括树顶),
$5$个普通果实,$5$个奇异果实,$5$个稀有果实。
$5 \times 1+5 \times 2+5 \times 5=40$

提交

请先 登录

Source

笨笨原创。

© 2026 FAQs Contact About