320
社区成员




公交上有N排凳子,每排有两个凳子,每一排的凳子宽度不一样。有一些内向和外向的人按照顺序上车。 外向的人(0):只会选择没人的一排坐下,如果有很多排符合要求,他会选择座位宽度最小的坐下。 内向的人(1):只会选择有人的一排坐下,如果有很多排符合要求,他会选择座位宽度最大的坐下。 数据保证存在合理。输出每个人所在的排。
输出每个人应该坐在那一排。
仔细读题,没拍有两个凳子,而不是宽度多少,就可以坐多少人,老顾开始就没仔细审题,弄错了。
题目还是很简单的,因为只能坐两个人,且性格1的人必须挨着性格0的人做,所以,用栈操作下就好。
n = int(input())
w = sorted([[i + 1,int(k)] for i,k in enumerate(input().split())],key = lambda x:x[1])
p = input()
ans,stack,m = [],[],0
for i in p:
if i == '0':
v = w[m][0]
stack.append(v)
ans.append(v)
m += 1
else:
ans.append(stack.pop())
print(*ans)