Cập nhật đoạn cộng

Đề bài

Mô tả

Cho mảng a[1..n] khởi tạo toàn 0. Bạn cần thực hiện m thao tác cập nhật, mỗi thao tác có ba số (l,r,v) với ý nghĩa: cộng v vào tất cả phần tử a[l],a[l+1],…,a[r].

Sau khi thực hiện xong tất cả các thao tác, hãy in ra mảng a cuối cùng.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và m — kích thước mảng và số thao tác.
  • m dòng tiếp theo, mỗi dòng chứa ba số nguyên l,r,v mô tả một thao tác.

Dữ liệu ra

In ra n số nguyên trên một dòng, cách nhau bởi dấu cách — là mảng a sau khi thực hiện hết các thao tác.

Ràng buộc

  • 1≤n,m≤2·105
  • 1≤l≤r≤n
  • −109≤v≤109
  • Đáp án nằm trong phạm vi kiểu long long.

Ví dụ

Input Output Giải thích
5 3
1 3 2
2 4 5
3 5 -1
2 7 6 4 -1 Sau thao tác 1: [2,2,2,0,0]. Sau thao tác 2: [2,7,7,5,0]. Sau thao tác 3: [2,7,6,4,-1].
4 1
1 4 1000000000
1000000000 1000000000 1000000000 1000000000 Cộng 109 vào toàn bộ mảng.
3 2
1 1 -5
3 3 7
-5 0 7 Thao tác 1 chỉ ảnh hưởng a1, thao tác 2 chỉ ảnh hưởng a3.

Ghi chú

Tổng giá trị có thể lớn (vượt phạm vi int 32-bit), hãy dùng kiểu số nguyên 64-bit.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0