Jayakrishna14

Ranking Books Q2

Sep 16th, 2025 (edited)
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.83 KB | None | 0 0
  1. # Enter your code here. Read input from STDIN. Print output to STDOUT
  2. t=int(input())
  3. for _ in range(t):
  4.     n=int(input())
  5.     shelf=list(map(int,input().split()))
  6.     pa=int(input())
  7.     pages=list(map(int,input().split()))
  8.     li=[]
  9.     se=set(shelf)
  10.     se=list(se)
  11.     se = sorted(se, reverse = True) # update 3
  12.     l=len(se)
  13.  
  14.     for i in pages:
  15.         low,hi=0,l
  16.         if i<se[-1]: # update 1
  17.             li.append(l+1)
  18.         elif i>se[0]:  # update 2
  19.             li.append(1)
  20.         else:
  21.             while low<hi:
  22.                 mid=(low+hi)//2
  23.                 if (se[mid-1]>i and se[mid]<i) or se[mid]==i:
  24.                     li.append(mid+1)
  25.                     break
  26.                 elif se[mid] < i:
  27.                     hi=mid
  28.                 elif se[mid] > i:
  29.                     low=mid+1
  30.     print(*li)
Advertisement
Add Comment
Please, Sign In to add comment