321
社区成员




小明手头上有n个问题,每个问题都有一个数值,表示这个问题的难度;正好小明团队有n个人,每个人都有一个数值,表示这个人的能力 现在小明要把这n个问题分配给每个人,要求能力更高的人分配到更高难度的问题
第1行包含一个数字 n (n <= 100000),表示小明手头上有n个问题,团队有n个人 第2行到第n+1行,每一行包含1个数字,表示n个问题的难度(正整数,小于10^9) 第n+2到2n+1行,每一行包含一个数字,表示团队n个人的能力值(正整数,小于10^9)
输出n行,按输入的顺序,输出每个人分配到的问题的难度,如果有两个人能力值相同,那么输入的顺序靠前,分配到更高难度的问题
额。。。。排序问题,排排座后直接输出就好
n = int(input())
level = sorted([[int(input()),i] for i in range(n)],key = lambda x:(-x[0],x[1]))
power = sorted([[int(input()),i] for i in range(n)],key = lambda x:(-x[0],x[1]))
final = sorted([v + level[i] for i,v in enumerate(power)],key = lambda x:x[1])
print(*[v[2] for v in final],sep='\n')