Điểm:
2000 (p)
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
QUERYSUMS.inp
Output:
QUERYSUMS.out
Cho dãy \(a\) gồm \(n\) phần tử được đánh chỉ số từ \(1\) đến \(n\) và \(q\) truy vấn. Mỗi truy vấn thuộc một trong hai loại sau:
- Tăng các phần tử từ chỉ số \(l\) đến \(r\) thêm \(x\).
- Tìm giá trị lớn nhất của biểu thức \(a_{i_1} - a_{i_2} + a_{i_3} - a_{i_4} + \ldots\) với \(i_1, i_2, i_3, i_4, \ldots\) là các chỉ số được chọn thỏa mãn \(l \leq i_1 < i_2 < i_3 < i_4 < \ldots \leq r\). Nếu không chọn chỉ số nào thì giá trị của biểu thức là \(0\).
Input
- Dòng đầu tiên chứa hai số nguyên \(n\) và \(q\) (\(1 \leq n, q \leq 10 ^ 5\)).
- Dòng tiếp theo chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(|a_i| \leq 10 ^ 9\)).
- Trong \(q\) dòng tiếp theo, mỗi dòng chứa số nguyên \(1\) hoặc \(2\). Số \(1\) theo sau bởi ba số nguyên \(l\), \(r\) và \(x\) (\(1 \leq l \leq r \leq n\), \(|x| \leq 10 ^ 9\)) mô tả truy vấn loại 1. Số \(2\) theo sau bởi hai số nguyên \(l\) và \(r\) (\(1 \leq l \leq r \leq n\)) mô tả truy vấn loại 2.
Output
- Với mỗi truy vấn loại 2, in ra giá trị lớn nhất của biểu thức trên một dòng.
Scoring
- Subtask 1 (30% số điểm): \(n, q \leq 20\).
- Subtask 2 (30% số điểm): \(n, q \leq 10 ^ 3\).
- Subtask 3 (30% số điểm): Truy vấn loại 1 có \(l = r\).
- Subtask 4 (10% số điểm): Không có ràng buộc gì thêm.
Example
Test 1
Input
5 5
9 3 -2 5 -1
2 1 3
1 4 5 6
2 2 5
1 2 2 -7
2 2 3
Output
11
16
0
Note
- Ban đầu, dãy \(a\) là \([9, 3, -2, 5, -1]\).
- Ở truy vấn thứ nhất, cách tối ưu là chọn các chỉ số \(i_1 = 1\) và \(i_2 = 3\). Khi đó, giá trị của biểu thức là \(a_1 - a_3 = 11\).
- Ở truy vấn thứ hai, sau khi tăng các phần tử từ chỉ số \(4\) đến \(5\) thêm \(6\), ta được dãy \(a\) mới là \([9, 3, -2, 11, 5]\).
- Ở truy vấn thứ ba, cách tối ưu là chọn các chỉ số \(i_1 = 2\), \(i_2 = 3\) và \(i_3 = 4\). Khi đó, giá trị của biểu thức là \(a_2 - a_3 + a_4 = 16\).
- Ở truy vấn thứ tư, sau khi tăng các phần tử từ chỉ số \(2\) đến \(2\) thêm \(-7\), ta được dãy \(a\) mới là \([9, -4, -2, 11, 5]\).
- Ở truy vấn thứ năm, cách tối ưu là không chọn chỉ số nào. Khi đó, giá trị của biểu thức là \(0\).
Bình luận