Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Biến đổi bí ẩn 2

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Bạn được trao một dãy số nguyên dương gồm \(N\) phần tử, được ký hiệu là \(A_1, A_2, \dots, A_N\). Dãy số này đang trải qua những biến động kỳ lạ, và bạn là người duy nhất có thể theo dõi toàn bộ quá trình.

Có tất cả \(Q\) thao tác được thực hiện lên dãy số theo thứ tự, và mỗi thao tác sẽ có một trong hai dạng sau:

  • Loại 1: 1 u v x --- Tăng giá trị của tất cả phần tử trong đoạn từ \(A_u\) đến \(A_v\) thêm \(x\) đơn vị.
  • Loại 2: 2 u v --- Hỏi xem trong đoạn từ \(A_u\) đến \(A_v\) thì phần tử lớn nhất là bao nhiêu.

Hãy giúp trả lời tất cả các truy vấn loại 2.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)) --- số phần tử trong dãy và số thao tác cần thực hiện.
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_1, A_2, \dots, A_N\) (\(1 \le A_i \le 10^9\)).
  • \(Q\) dòng tiếp theo, mỗi dòng mô tả một thao tác như sau:

  • Dạng 1 $u$ $v$ $x$ với \(1 \le u \le v \le N\) và \(1 \le x \le 10^9\): tăng tất cả các phần tử từ vị trí \(u\) đến \(v\) lên \(x\).

  • Dạng 2 $u$ $v$ với \(1 \le u \le v \le N\): truy vấn giá trị lớn nhất trong đoạn từ \(u\) đến \(v\).

Output

Với mỗi truy vấn loại 2, in ra một dòng chứa kết quả tương ứng.

Example

Test 1

Input
5 4
2 6 3 5 8
1 2 5 3
2 1 4
1 3 4 2
2 3 5
Output
9
11

Scoring

  • Subtask 1 (30%): \(N \le 10^3\), \(Q \le 10^3\).
  • Subtask 2 (20%): \(N \le 10^5\), \(Q \le 10^5\), chỉ chứa thao tác loại 2.
  • Subtask 3 (20%): \(N \le 10^5\), \(Q \le 10^5\), tất cả thao tác loại 1 đều xuất hiện trước các thao tác loại 2.
  • Subtask 4 (30%): \(N \le 10^5\), \(Q \le 10^5\), không giới hạn gì thêm.

Bình luận

Chưa có bình luận nào.