def solve(n, shifted): arr = [0 for _ in range(n)] #1~N까지의 숫자를 모두 저장하는 트립을 만든다. candidates = Treap() for i in range(n): candidates.insert(i + 1) #뒤에서부터 arr[]를 채워나간다. for i in range(n - 1, -1, -1): #후보 중 이 수보다 큰 수가 larger개 있다. larger = shifted[i] k = candidates.findKth(i + 1 - larger) arr[i] = k.key candidates.delete(k.key) return arr