No.2865 Base 10 Subsets 2
タグ : / 解いたユーザー数 102
作問者 :

ストーリー
あなたはゆ~さんの並行世界の研究の助手をしていますが...あるとき、並行世界の一つにゆ~さんと一緒に巻き込まれてしまいました。
ゆ~さんはあたりを見回して、一つのことに気が付きました。「この世界、数の数え方がとても気持ち悪いな...」
我々の世界では基本的に 進数が用いられており、各桁は を超えないようになっています。しかし、この世界では各桁ごとに別々に値の上限を決めてそれを超えないように値をカウントしているようです。
「まるでヤード・ポンド法だ。よし君、この世界の数として小さいほうから 番目の値をすぐに計算できるようなコードを書いておいてくれ。あっ、あれは一体..?」
ゆ~さんは頼むだけ頼んだら、この世界で気になる物を見つけたのか目を輝かせてどこか遠くへ走って行ってしまいました。...戻ってくるまでに頼まれたコードを書いておきましょうか。
問題文
が十進法において の部分集合であるとは、十進法の各桁において、 の値が 以下であることを表すものとします。
より厳密には、以下の通りです。
を 、 を ( )
と表す方法はそれぞれ一意に定まるが、その方法において任意の非負整数 について が成り立つ。
非負整数 と正整数 が与えられます。十進法において の部分集合である非負整数のうち 番目に小さいものを出力してください。
入力
制約
- 十進法において の部分集合である非負整数は 個以上存在する
出力
答えを一行に出力し、最後に改行してください。
サンプル
サンプル1
入力
12 3
出力
2
十進法において の部分集合である数は小さい順に です。
したがって、その中で 番目に小さい を出力します。
サンプル2
入力
0 1
出力
0
唯一、十進法において の部分集合である を出力します。
サンプル3
入力
1000000000000000000 2
出力
1000000000000000000
答えが bit整数型に収まらない場合があることに注意してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。