#aBC301D. [ABC301D] Bitmask
[ABC301D] Bitmask
AT_abc301_d [ABC301D] Bitmask
题目描述
给定一个由 0、1、? 组成的字符串 和一个整数 。将 中的每个 ? 替换为 0 或 1,并将其视为二进制整数,得到的所有可能值的集合记为 。例如,当 ?0? 时,$T=\lbrace 000_{(2)},001_{(2)},100_{(2)},101_{(2)}\rbrace=\lbrace 0,1,4,5\rbrace$。
请输出 中不超过 的最大值(以十进制整数形式输出)。如果 中没有不超过 的值,则输出 -1。
输入格式
输入以以下格式从标准输入读入。
输出格式
请输出答案。
输入输出样例 #1
输入 #1
?0?
2
输出 #1
1
输入输出样例 #2
输入 #2
101
4
输出 #2
-1
输入输出样例 #3
输入 #3
?0?
1000000000000000000
输出 #3
5
说明/提示
限制条件
- 由
0、1、?组成。 - 的长度为 到 。
- 。
- 是整数。
样例解释 1
如题目中所示,。 中不超过 的值为 和 ,其中最大的是 ,因此输出 。
样例解释 2
,因此 中没有不超过 的值。
由 ChatGPT 4.1 翻译