QMAX - Truy vấn số lớn nhất trong dãy số

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho dãy số nguyên gồm ~n~ phần tử ~a_1, a_2, …, a_n~ và ~Q~ truy vấn. Mỗi truy vấn có một trong hai dạng:

  • Dạng ~1:\ 1\ i\ x:~ thay số ở vị trí ~i~ bằng giá trị mới ~x~ (tức là ~a_i = x~);
  • Dạng ~2:\ 2\ u\ v:~ Tìm giá trị lớn nhất của các số trong đoạn ~[u, v]~ (tức là số lớn nhất trong các số ~a_u, a_{u + 1}, …, a_v~.

Input

  • Dòng đầu chứa hai số nguyên dương ~n~ và ~Q~;
  • Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, …, a_n~;
  • ~Q~ dòng tiếp theo, mỗi dòng là ba số nguyên mô tả một truy vấn.

Hai số liên tiếp trên một dòng được ghi cách nhau ít nhất một dấu cách.

Giới hạn:

  • ~1 ≤ n ≤ 10^6; 1 ≤ u ≤ v ≤ n; 1 ≤ Q ≤ 10^5; |x|, |a_i| ≤ 10^9~.

Output

  • Ghi trên một dòng nhiều số nguyên, mỗi số là câu trả lời cho truy vấn loại ~2~ (theo đúng thứ tự thực hiện các truy vấn), hai số liên tiếp ghi cách nhau một khoảng trắng.

Sample

Input #1
5 3
2 -1 5 3 -3
2 1 4
1 3 2
2 2 5
Output #1
5 3

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.