fork download
  1. def check_value_in_ranges(a, b):
  2. a = sorted(a)
  3. b = sorted(b, reverse=True)
  4. lower, upper = b.pop()
  5. for value in a:
  6. while value >= lower:
  7. if value <= upper:
  8. return True
  9. elif b:
  10. lower, upper = b.pop()
  11. else:
  12. return False
  13. return False
  14.  
  15. a = [1, 2, 3, 4, 5, 6, 7]
  16. b = [(12,14), (54, 78), (2,3), (9,11)]
  17. print check_value_in_ranges(a, b)
  18. print check_value_in_ranges([4, 5, 6, 7], b)
  19. print check_value_in_ranges([1, 4, 5, 7, 15, 65], b)
  20. print check_value_in_ranges([4, 5, 6, 7], [(1, 3), (2, 4), (8, 10)])
Success #stdin #stdout 0.01s 7852KB
stdin
Standard input is empty
stdout
True
False
True
True