Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n = int(input())
- houses = [x for x in enumerate(map(int, input().split()))]
- m = int(input())
- safe = [x for x in enumerate(map(int, input().split()))]
- best = [0]*n
- # you are supposed to sort both lists
- houses.sort(key=lambda v: v[1])
- safe.sort(key=lambda v: v[1])
- j = 0
- for i in range(n):
- while (safe[j][1] <= houses[i][1]) and j < m - 1:
- j += 1
- if j > 0 and safe[j][1] - houses[i][1] > houses[i][1] - safe[j - 1][1]:
- j -= 1
- best[houses[i][0]] = safe[j][0] + 1
- print(*best)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement