题目描述
又是一年一度的中秋灯笼制作大赛,今年一共有 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 互不相同。