classSolution:defprocessQueries(self, queries: List[int], m:int)-> List[int]:
ans =[]
p =[i+1for i inrange(m)]for x in queries:
pos = p.index(x)
ans.append(pos)
p =[p[pos]]+p[:pos]+p[pos+1:]return ans
classSolution:
@staticmethoddeflowbit(x):return(-x)& x
defupdate(self, index, x, tree):while index <len(tree):
tree[index]+= x
index += self.lowbit(index)defquery(self, index, tree):
ans =0while index >=1:
ans += tree[index]
index -= self.lowbit(index)return ans
defprocessQueries(self, queries, m:int):
ans =[]
p =[0]+[len(queries)+1+ i for i inrange(m)]
t =[0]*(len(queries)+1)+[1]* m
tree =[0]*len(t)for i inrange(1,len(t)):
self.update(i, t[i], tree)
j =len(queries)for x in queries:
pos = p[x]
p[x]= j
ans.append(self.query(pos -1, tree))
self.update(pos,-1, tree)
self.update(j,1, tree)
j -=1return ans