atcoder#ABC252H. [ABC252Ex] K-th beautiful Necklace
[ABC252Ex] K-th beautiful Necklace
配点 : 点
問題文
個の宝石があります。 番目の宝石は色が で美しさが です。 ここで、色は のいずれかであり、どの色の宝石も少なくとも 個存在します。
個の宝石から、色が相異なる 個の宝石を選んでネックレスを作ります。(選ぶ順番は考えません。) ネックレスの美しさは選んだ宝石の美しさのビットごとの となります。
全てのありえるネックレスの作り方のうち、美しさが 番目に大きいもののネックレスの美しさを求めてください。(同じ美しさの作り方が複数存在する場合、それらは全て数えます。)
ビットごとの $\rm XOR$ とは
整数 のビットごとの 、 は、以下のように定義されます。
- を二進表記した際の () の位の数は、 を二進表記した際の の位の数のうち一方のみが であれば 、そうでなければ である。
例えば、 となります (二進表記すると: )。
制約
- 少なくとも 種類のネックレスを作ることができる
- 入力に含まれる値は全て整数である
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
4 2 3
2 4
2 6
1 2
1 3
5
以下のような 種類のネックレスを作ることができます。
- 番目の宝石を選ぶ。ネックレスの美しさは となる。
- 番目の宝石を選ぶ。ネックレスの美しさは となる。
- 番目の宝石を選ぶ。ネックレスの美しさは となる。
- 番目の宝石を選ぶ。ネックレスの美しさは となる。
よって美しさが 番目に大きいネックレスの美しさは となります。
3 1 2
1 0
1 0
1 0
0
種類のネックレスを作ることができ、いずれも美しさは です。
10 3 11
1 414213562373095048
1 732050807568877293
2 236067977499789696
2 449489742783178098
2 645751311064590590
2 828427124746190097
3 162277660168379331
3 316624790355399849
3 464101615137754587
3 605551275463989293
766842905529259824