Tìm tổng của mãng
Xem PDF
Điểm:
1300
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Bạn được cho một mảng gồm \(n\) phần tử, mỗi phần tử ban đầu đều bằng \(0\). Bạn sẽ phải thực hiện \(m\) thao tác thuộc \(2\) loại sau:
- Loại 1:
0 l r k- nâng các phần tử từ vị trí \(l\) đến \(r\) lên \(k\) đơn vị. - Loại 2:
1 l r- in ra tổng các phần tử trong đoạn từ \(l\) đến \(r\).
Input
- Dòng đầu gồm hai số \(n\) và \(m\), lần lượt là số phần tử của mảng và số thao tác cần thực hiện (\(1 \le n \le 10^5, 1 \le m \le 10^5\)).
- \(m\) dòng sau, mỗi dòng thể hiện một thao tác như trên. Dữ liệu đảm bảo (\(1 \le l \le r \le n, 1 \le k \le 10^7\)).
Output
- Với mỗi truy vấn loại 2, in ra câu trả lời tương ứng trên một dòng.
Example
Test 1
Input
6 4
0 1 3 2
1 1 2
0 2 6 4
1 1 3
Output
4
14
Note
- Ban đầu: \([0, 0, 0, 0, 0, 0]\)
- Thao tác 1 (
0 1 3 2): Tăng đoạn \([1, 3]\) thêm \(2 \Rightarrow [2, 2, 2, 0, 0, 0]\) - Thao tác 2 (
1 1 2): Tổng đoạn \([1, 2]\) là \(2 + 2 = 4\). - Thao tác 3 (
0 2 6 4): Tăng đoạn \([2, 6]\) thêm \(4 \Rightarrow [2, 6, 6, 4, 4, 4]\) - Thao tác 4 (
1 1 3): Tổng đoạn \([1, 3]\) là \(2 + 6 + 6 = 14\).
Bình luận