Bus of Characters
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
Description
在角色巴士中有n排座位,每排都有2个座位。 第i排的两个座位的宽度均为w i厘米。 没有相同宽度的座椅,即所有的Wi互不相同。
公共汽车最初是空的。 接下来会依次停靠2n个站,每一站将上来一名乘客。有两种类型的乘客:
内向者:此类乘客总是选择两个座位都是空的那一排就坐。如果有多排都是空的,他将会选择Wi最小的那一排中任意一个空座坐下。 外向者:此类乘客总是会选择已有一人就坐(当然是内向者)的那一排,如果有多排都满足条件,他会选择Wi最大的那一排的空座坐下。 现在给定每一排的宽度Wi以及乘客上车的顺序。请确定每一个乘客将会选择哪一排坐下。
Input Format
第一行包含一个整数n(1 ≤ n ≤ 200000)表示公交车中座位的排数;
第二行为一个序列w1,w2,...,wn(1 ≤ w i ≤ 10^9),其中wi是第i行中每个座位的宽度。 保证所有wi都不相同。
第三行包含一个长度为 2n 的字符串,由数字“0”和“1”组成 - 描述乘客进入公共汽车的顺序。 如果第j个字符是 '0',那么在第 j 个车站进入公共汽车的乘客是内向的。 如果第j个字符是 '1',则在第j个车站进入公交车的乘客是外向型的。 保证外向者的数量等于内向者的数量(即两个数字等于 n),并且对于每一名上车的外向者,保证有空座位可以坐。
Output Format
输出2n个整数,空格分开,表示每名乘客会选哪一排就坐。
2
3 1
0011
2 1 1 2
6
10 8 9 11 13 5
010010011101
6 6 2 3 3 1 4 4 1 2 5 5
Hint
【样例1解释】 在第1个例子中,第1名乘客(内向者)选择第2排,因为它具有最小宽度的座位。 第2名乘客(内向者)选择第1排,因为它现在是唯一的没有人坐的那排。 第3名乘客(外向者)选择第1排,因为它只有一个人落座,并且座位宽度是这些排中最大的。 第4名乘客(外向者)选择第2排,因为它是唯一的有空座的那排。