比赛2(gaming)
题面描述
又是一年一度的校园歌手大赛,今年一共有 2n 个选手参与了比赛,分别编号为 0∼2n−1 ,每个人的唱功可以用数字 ai 来量化,保证 a0∼a2n−1 互不相同。
今年赛事委员吸取了上一年的教训,采用了以下的赛制:
- 比赛共有 n 轮,在第 i 轮,编号在 0∼2i−1 内未淘汰的选手会分在第 1 组,2i∼2×2i−1 内未淘汰的选手会分在第 2 组。依次类推。
- 每一组选手会通过一轮合唱决出组内的排名(即按 ai 从大到小给选手排序),排名在第 k 名之后的选手淘汰( k 在最开始给定,若该组人数小于等于 k ,则无人淘汰)。
- 记第 i 轮后未淘汰的总人数为 t,则第 i 轮淘汰的所有选手的最终名次就是 t+1 。
n 轮之后会剩下一组未淘汰的选手,对于他们的,每一个选手的最终名次就是其在这个组内的排名。
小 C 对最终每个选手的名次很好奇,你能帮帮他求出每个选手最终的名次吗。
输入格式
第 1 行包含两个正整数 n,k。
第 2 行为 2n 个互不相同的正整数,分别表示 a0,a1,∼a2n−1 。
输出格式
输出一行 2n 个整数,第 i 个整数表示编号为 i−1 的选手的最终名次。
样例一
输入
3 2
1 7 3 2 8 5 6 4
输出
5 2 3 5 1 5 3 5
样例解释
第一轮之后:[1,7 ∣ 3,2 ∣ 8,5 ∣ 6,4]
第二轮之后:[×,7,3,× ∣ 8,×,6,×](× 表示淘汰)
第三轮之后:[×,7,×,×,8,×,×,×]
数据范围
对于所有数据 n≤20,1≤k≤2n,1≤ai≤109 ,保证 a0,a1,...,a2n−1 互不相同。
测试点 |
n≤ |
k≤ |
1∼3 |
n=3 |
无限制 |
4∼7 |
17 |
k=2n |
8∼10 |
1 |
11∼13 |
2 |
14∼16 |
无限制 |
17∼20 |
无限制 |