Advertisement
namemkazaza

Task 0

Dec 3rd, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.86 KB | None | 0 0
  1. def left_bin_search(x, a):
  2.     if len(a) != 0:
  3.         l, r = -1, len(a) - 1
  4.         while r - l > 1:
  5.             m = (l + r) // 2
  6.             if x <= a[m]:
  7.                 r = m
  8.             else:
  9.                 l = m
  10.         if x == a[r]:
  11.             return r
  12.  
  13. def right_bin_search(x, a):
  14.     if len(a) != 0:
  15.         l, r = 0, len(a)
  16.         while r - l > 1:
  17.             m = (l + r) // 2
  18.             if x >= a[m]:
  19.                 l = m
  20.             else:
  21.                 r = m
  22.         if x == a[l]:
  23.             return l
  24.  
  25. n = int(input())
  26. colors = [int(i) for i in input().split()]
  27. m = int(input())
  28. requests = [int(i) for i in input().split()]
  29. for i in requests:
  30.     i_of_first = left_bin_search(i, colors)
  31.     i_of_last = right_bin_search(i, colors)
  32.     if i_of_first == None:
  33.         print(0)
  34.     else:
  35.         print(i_of_last - i_of_first + 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement