Advertisement
Guest User

Untitled

a guest
Feb 24th, 2021
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.78 KB | None | 0 0
  1. def check_collision(l, r, l1, r1):
  2.     if l > r1 or r < l1:
  3.         return False
  4.     else:
  5.         return True
  6.  
  7. W, q = [int(i) for i in input().split()]
  8.  
  9. cmds = [[int(i) for i in input().split()] for _ in range(q)]
  10.  
  11. figures = []
  12. levels = {}
  13.  
  14. for cmd in cmds:
  15.     i = cmd[1:]
  16.     if cmd[0] == 1:
  17.         bottom = 0
  18.         for j in sorted(figures, key=lambda x:x[3])[::-1]:
  19.             if check_collision(i[0], i[1], j[0], j[1]):
  20.                 bottom = j[3]
  21.                 break
  22.  
  23.         figure = (i[0], i[1], i[2], bottom + i[2])
  24.         figures.append(figure)
  25.         l, r, h, top = figure
  26.         size_x = r - l + 1
  27.         for level in range(top, top - h, -1):
  28.             levels[level] = levels.get(level, 0) + size_x
  29.     else:
  30.         print(levels.get(i[0], 0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement