fork download
  1. A = [4, -2, 3, 5, -6]
  2. Q = [[1, 3], [2, 4]]
  3. #after q1: [-4, 2, -3, 5, -6]
  4. #after q2: [-4, -2, 3, -5, -6]
  5.  
  6. n = len(A)
  7. dif = [0] * (n + 1)
  8. for L, R in Q:
  9. L -= 1
  10. R -= 1
  11. dif[L] += 1
  12. dif[R + 1] -= 1
  13.  
  14. for i in range(1, n + 1):
  15. dif[i] += dif[i - 1]
  16.  
  17. for i in range(n):
  18. if dif[i] % 2 != 0:
  19. A[i] = -A[i]
  20. print(A)
  21.  
  22.  
Success #stdin #stdout 0.03s 9604KB
stdin
Standard input is empty
stdout
[-4, -2, 3, -5, -6]