QUERYARRAY

Xem PDF

Điểm: 800 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Lại là thực hiện truy vấn!

Lần này, bạn được cho một mảng \(a\)\(n\) phần tử. Ban đầu, tất cả các phần tử trong mảng \(a\) có giá trị bằng \(0\). Bạn phải thực hiện \(Q\) truy vấn, mỗi truy vấn thuộc một trong hai dạng:

  • 1 l r x: Tăng toàn bộ các phần tử trong mảng \(a\) từ vị trí \(l\) đến vị trí \(r\) một giá trị bằng \(x\).
  • 2 l r x: Giảm toàn bộ các phần tử trong mảng \(a\) từ vị trí \(l\) đến vị trí \(r\) một giá trị bằng \(x\).

Yêu cầu: In ra dãy \(a\) sau \(Q\) truy vấn?

Input

  • Dòng thứ nhất chứa hai số nguyên dương \(n,Q\) (\(n,Q \le 10^5\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa một truy vấn mô tả như trên (\(1 \le l \le r \le n, 1 \le x \le 10^3\)).

Output

  • Một dòng chứa \(n\) số nguyên là dãy \(a\) sau truy vấn. Lưu ý nếu có tồn tại các số \(0\) đằng sau cũng cần in đủ.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(n,Q \le 100\).
  • Subtask \(2\) (\(70\%\) số điểm): không có ràng buộc gì thêm.

Example

Test 1

Input
5 3
1 1 2 1
1 2 3 1
2 4 5 1
Output
1 2 1 -1 -1

Bình luận

Không có bình luận nào.