#2443. CF1154E - Two Teams

CF1154E - Two Teams

题目描述

nn 个人站成一排,他们每个人都有一个能力值,能力值互不相同。具体来说 nn 个人的能力值是一个 1n1\sim n 的排列。

有两个教练,分别是 11 队教练和 22 队教练。由 11 队教练先挑,每次教练会将场上剩下的人中能力值最高的和他左右各 kk 个人从场上挑出,加入自己的队伍,然后由另一名教练再挑。

在挑选时如果一侧不足 kk 个人则将这些人都挑入队伍。

请求出每个人最终加入的是哪个队伍

输入格式

第一行是两个整数 n, kn,~k,其中 1kn2×1051\leq k\leq n\leq 2\times 10^5

下面一行是一个 11nn 的排列,描述每个人的能力值

输出格式

输出一行一个字符串。如果第 ii 个人最终加入 11 队,则字符串第 ii 位为 11,否则为 22

5 2
2 4 5 3 1
11111
5 1
2 1 3 5 4
22111
7 1
7 2 1 3 5 4 6
1121122
5 1
2 4 5 3 1
21112

提示

在第一个示例中,第一位教练选择了位置 33 上的学生,该行变为空行(所有学生都加入了第一队)。

在第二个示例中,第一位教练选择了位置为 44 的学生,该行变为 [2,1][2, 1] (拥有编程技能 [3,4,5][3, 4, 5] 的学生加入第一队)。然后,第二位教练选择了位置 11 上的学生,该行变为空行(拥有编程技能 [1,2][1, 2] 的学生加入第二队)。

在第三个示例中,第一位教练选择了位置为 11 的学生,该行变为 [1,3,5,4,6][1, 3, 5, 4, 6] (拥有编程技能 [2,7][2, 7] 的学生加入第一队)。然后,第二位教练选择 55 号位置上的学生,该行变为 [1,3,5][1, 3, 5] (拥有编程技能 [4,6][4, 6] 的学生加入第二队)。然后,第一位教练选择 33 号位置上的学生,该行变为 [1][1] (拥有编程技能 [3,5][3, 5] 的学生加入第一队)。然后第二位教练选择剩下的学生(拥有编程技能 11 的学生加入第二队)。

在第四个示例中,第一位教练选择了位置为 33 的学生,该行变为 [2,1][2, 1] (拥有编程技能 [3,4,5][3, 4, 5] 的学生加入第一队)。然后,第二位教练选择了位置 11 上的学生,该行变为空行(拥有编程技能 [1,2][1, 2] 的学生加入第二队)。