Cộng đoạn, tổng đoạn
Đề bài
Mô tả
Cho mảng và thao tác. Có hai loại thao tác:
- Cộng đoạn:
1 l r v— với mỗi tăng thêm . - Hỏi tổng đoạn:
2 l r— in ra .
Dữ liệu vào
- Dòng đầu: hai số nguyên và .
- Dòng thứ hai: số nguyên .
- dòng tiếp theo, mỗi dòng mô tả một thao tác:
1 l r v: cộng vào .2 l r: hỏi tổng đoạn .
Dữ liệu ra
Với mỗi thao tác loại in một dòng — tổng đoạn tương ứng.
Ràng buộc
- Giá trị các phần tử và tổng đoạn nằm trong phạm vi số nguyên có dấu 64-bit.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 5 1 2 3 4 5 2 1 5 1 2 4 10 2 1 5 1 1 5 -3 2 2 3 |
15 45 19 |
Mảng ban đầu là với tổng . Sau thao tác mảng thành , tổng . Sau thao tác mảng thành ; tổng đoạn . |
| 1 3 7 2 1 1 1 1 1 5 2 1 1 |
7 12 |
Mảng một phần tử. Đầu tiên hỏi tổng đoạn . Sau khi cộng , phần tử thành . |
Ghi chú
- Tổng đoạn có thể âm và rất lớn về độ lớn; dùng
long long(C++) hoặc số nguyên Python. - Mảng dùng chỉ số .
Bình luận