Cập nhật đoạn tĩnh

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Ban đầu bạn có một mảng \(A\) gồm \(N\) phần tử đều bằng \(0\). Có \(Q\) thao tác cập nhật. Mỗi thao tác cho ba số \(L, R, V\), yêu cầu cộng thêm giá trị \(V\) vào tất cả các phần tử từ chỉ số \(L\) đến \(R\).

Sau khi thực hiện tất cả \(Q\) thao tác, hãy in ra giá trị của mảng \(A\).

Input

  • Dòng 1: Hai số nguyên \(N\)\(Q\) (\(1 \le N, Q \le 2 \cdot 10^5\)).
  • \(Q\) dòng tiếp theo: Mỗi dòng chứa 3 số nguyên \(L, R, V\) (\(1 \le L \le R \le N, |V| \le 10^9\)).

Output

  • In ra \(N\) số nguyên là giá trị của mảng \(A\) sau khi cập nhật, cách nhau bởi dấu cách.

Example

Test 1

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

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(N, Q \le 2000\).
  • Subtask \(2\) (\(60\%\) số điểm): \(N, Q \le 2 \cdot 10^5\).

Bình luận

Mới nhất
Tải bình luận...

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