AT_abc301_d.[ABC301D] Bitmask

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个由 0、1、? 组成的字符串 SS 和一个整数 NN。将 SS 中的每个 ? 替换为 0 或 1,并将其视为二进制整数,得到的所有可能值的集合记为 TT。例如,当 S=S= ?0? 时,T={000(2),001(2),100(2),101(2)}={0,1,4,5}T=\lbrace 000_{(2)},001_{(2)},100_{(2)},101_{(2)}\rbrace=\lbrace 0,1,4,5\rbrace。

请输出 TT 中不超过 NN 的最大值(以十进制整数形式输出)。如果 TT 中没有不超过 NN 的值,则输出 -1。

输入格式

输入以以下格式从标准输入读入。

SS NN

输出格式

请输出答案。

输入输出样例

  • 输入#1

    ?0?
    2

    输出#1

    1
  • 输入#2

    101
    4

    输出#2

    -1
  • 输入#3

    ?0?
    1000000000000000000

    输出#3

    5

说明/提示

限制条件

  • SS 由 0、1、? 组成。
  • SS 的长度为 11 到 6060。
  • 1≤N≤10181 \leq N \leq 10^{18}。
  • NN 是整数。

样例解释 1

如题目中所示,T={0,1,4,5}T=\lbrace 0,1,4,5\rbrace。TT 中不超过 NN 的值为 00 和 11,其中最大的是 11,因此输出 11。

样例解释 2

T={5}T=\lbrace 5\rbrace,因此 TT 中没有不超过 NN 的值。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页