pratiyush7

Untitled

Mar 23rd, 2022
1,148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | None | 0 0
  1. for _ in range(int(input())):
  2.     n=int(input())
  3.     b=list(map(int,input().split()))
  4.     visited=[0]*(2*n)
  5.     next_indices=[]
  6.     positive=[]
  7.     flag=0
  8.     index=0
  9.     for i in b:
  10.         if(i==-1):
  11.             index+=1
  12.             continue
  13.         if(i > (index+1)):
  14.             flag=1
  15.             break
  16.         if(positive):
  17.             if(i<positive[-1]):
  18.                 flag=1
  19.                 break
  20.             if(positive[-1]!=i):
  21.                 positive.append(i)
  22.                 next_indices.append(index)
  23.         else:
  24.             positive.append(i)
  25.         index+=1
  26.         visited[i]=1
  27.     if(flag):
  28.         print(-1)
  29.     else:
  30.         res=[-1]*n
  31.         for i in range(len(next_indices)):
  32.             res[next_indices[i]]=positive[i]
  33.         unused=0
  34.         for i in range(n):
  35.             if(res[i]!=-1):
  36.                 continue
  37.             while(visited[unused]):
  38.                 unused+=1
  39.             res[i]=unused
  40.             visited[unused]=1
  41.         print(*res)
  42.            
Advertisement
Add Comment
Please, Sign In to add comment