Maximum Value Queries
Xem PDF
Điểm:
1500
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho mảng \(a\) có \(n\) phần tử.
Định nghĩa giá trị của một đoạn con liên tiếp \([i,j]\) là:
\[
a_i+a_{i+1}+\cdots+a_j-(j-i)
\]
Nhiệm vụ của bạn là xử lý \(q\) truy vấn thuộc các loại sau:
- Gán \(a_p = x\)
- Tìm giá trị lớn nhất của một đoạn con liên tiếp nằm hoàn toàn trong đoạn \([l, r]\)
Input
- Dòng đầu tiên chứa hai số nguyên \(n\) và \(q\).
- Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\).
- \(q\) dòng tiếp theo, mỗi dòng chứa một truy vấn:
1 p x: Gán \(a_p = x\).2 l r: Tìm tổng lớn nhất của một đoạn con liên tiếp trong đoạn \([l, r]\).
Output
- Với mỗi truy vấn loại 2, in ra tổng lớn nhất tìm được trên một dòng.
Constraints
- \(1 \le n, q \le 2 \cdot 10^5\)
- \(-10^9 \le a_i, x \le 10^9\)
- \(1 \le p \le n\)
- \(1 \le l \le r \le n\)
Example
Test 1
Input
5 2
1 2 3 4 5
2 1 5
2 2 4
Output
11
7
Note
Với truy vấn đầu tiên, chọn đoạn con \([1,5]\):
\[
1+2+3+4+5-(5-1)=15-4=11.
\]
Với truy vấn thứ hai, chọn đoạn con \([2,4]\):
\[
2+3+4-(4-2)=9-2=7.
\]
Bình luận (1)