对决
题号:NC232320
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现在有 n 个人要比赛,第 i 个人能力值为 a_i,一共进行 n-1 场比赛。在一场比赛中,能力值大的人赢,如果相同就由作为裁判的你决定谁赢。输掉的人离开比赛,最后留下来的人是冠军。

你还有有两个道具,一个可以让一个人在一场比赛中能力乘 2,另一个可以让一个人在一场比赛中能力值除以 2 并向下取整。注意:两个道具可以在同一场内使用。对于每个人,问你能否通过任意安排比赛顺序使得他最终胜利,成为冠军。但是为了避免怀疑,冠军必须参加至少 k 场比赛。每个道具最多用一次。

输入描述:

第一行两个整数,表示 nk
第二行 n 个整数,表示每个人的能力值。

输出描述:

一行 n 个数,1 表示第 i 个人能在安排下最终胜利,反之则输出 0
示例1

输入

复制
5 3
3 2 1 5 4

输出

复制
1 1 0 1 1

说明

能力值为 5 的人打败能力值为 4 的人,能力值为 2 的人用两个道具分别打败能力值为 35 的人,再打败能力值为 1 的人。