QUERYSUMS

Xem PDF




Tác giả:
Dạng bài
Đ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\)\(q\) truy vấn. Mỗi truy vấn thuộc một trong hai loại sau:

  1. Tăng các phần tử từ chỉ số \(l\) đến \(r\) thêm \(x\).
  2. 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\)\(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\)\(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\)\(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\)\([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\)\(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\)\(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

Không có bình luận nào.