AT_arc182_b [ARC182B] |{floor(A_i/2^k)}|
Description
[problemUrl]: https://atcoder.jp/contests/arc182/tasks/arc182_b
正整数 $ N,K $ が与えられます。
長さ $ N $ で全ての要素が $ 1 $ 以上 $ 2^K $ 未満である整数列を **良い数列** と呼びます。
良い数列 $ A=(A_1,A_2,\ldots,A_N) $ の **スコア** を以下のように定義します。
- $ 1 $ 以上 $ N $ 以下の整数 $ i $ と $ 0 $ 以上の整数 $ k $ を用いて $ \displaystyle\ \left\lfloor\frac{A_i}{2^k}\ \right\rfloor $ と表すことができる整数の個数。
例えば $ A=(3,5) $ に対して $ \displaystyle\ \left\lfloor\frac{A_i}{2^k}\ \right\rfloor $ と表すことができる整数は $ 0,1,2,3,5 $ の $ 5 $ 個なのでスコアは $ 5 $ となります。
良い数列でスコアを最大にするものを一つ求めてください。
$ T $ 個のテストケースが与えられるので、それぞれについて解いてください。
Input Format
入力は以下の形式で標準入力から与えられる。ここで、 $ \mathrm{case}_i $ は $ i $ 番目のテストケースを意味する。
> $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $
各テストケースは以下の形式で与えられる。
> $ N $ $ K $
Output Format
$ T $ 行出力せよ。
$ i $ 行目には $ \mathrm{case}_i $ に対するスコアを最大化する良い数列を一つ出力せよ。
なお、スコアを最大化する良い数列が複数存在する場合は、どれを出力しても正答となる。
Explanation/Hint
### 制約
- $ 1\le\ T\le\ 10^5 $
- $ 1\le\ N\le\ 10^5 $
- $ 1\le\ K\le\ 30 $
- 全てのテストケースにおける $ N $ の総和は $ 2\times\ 10^5 $ 以下である
- 入力はすべて整数
### Sample Explanation 1
$ 1 $ つ目のテストケースについて考えます。 $ A=(5,6,7) $ とすると、$ \displaystyle\ \left\lfloor\frac{A_i}{2^k}\ \right\rfloor $ という形で表せる整数は $ 0,1,2,3,5,6,7 $ の $ 7 $ 個なので、この良い数列のスコアは $ 7 $ です。 $ A=(7,4,5) $ や $ A=(6,5,4) $ などを出力しても正解となります。