#SGM0000035. Cập nhật đoạn và tổng (Range Updates and Sums)
Cập nhật đoạn và tổng (Range Updates and Sums)
Cập nhật đoạn và tổng (Range Updates and Sums)
Nguồn: CSES
Phiên bản: Phước Hưng OJ Extended
Đề bài
Duy trì mảng với ba thao tác: cộng một đoạn, gán một đoạn và tính tổng một đoạn.
Input
Dòng đầu chứa , dòng tiếp theo chứa giá trị ban đầu. Mỗi truy vấn có một trong ba dạng:
1 a b x: cộng vào .2 a b x: gán mọi phần tử của thành .3 a b: tính tổng .
Output
In đáp án cho mỗi truy vấn loại 3.
Subtask
- 20 điểm: .
- 30 điểm: .
- 50 điểm: , .
Ví dụ
Input
6 5
2 3 1 1 5 3
3 3 5
1 2 4 2
3 3 5
2 2 4 5
3 3 5
Output
7
11
15
Giải thích
Tổng ban đầu là . Sau khi cộng 2 cho tổng này thành 11. Gán thành 5 khiến đoạn là 5 5 5, nên đáp án cuối là 15.