atcoder#ABC301D. [ABC301D] Bitmask
[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
を出力してください。
制約
- は
0
,1
,?
からなる文字列 - の長さは 以上 以下
- は整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
?0?
2
1
問題文中で例示したとおり、 です。 に含まれる 以下の値は と なので、そのうちの最大である を出力します。
101
4
-1
であるため、 以下の値は に含まれません。
?0?
1000000000000000000
5