Gửi bài giải
Điểm:
10,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
LIS.INP
Output:
LIS.OUT
Tác giả:
Dạng bài
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho dãy số gồm N số nguyên dương a1, a2, … aN. Một dãy con ai1, ai2, ai3, …, aik với i1 < i2 < i3 < … < ik được gọi là dãy con tăng khi ai1 < ai2 < ai3 < … < aik. Cho Q truy vấn, truy vấn thứ i (i=1..Q) được mô tả bởi hai số nguyên dương pi và xi. Với mỗi truy vấn, thay phần tử ở vị trí pi bằng xi. Lưu ý: việc thay đổi này chỉ có tác dụng với một truy vấn đó.
Yêu cầu: Tìm độ dài dãy con tăng dài nhất sau mỗi truy vấn.
Dữ liệu: Vào từ tệp văn bản LIS.INP gồm:
- Dòng đầu tiên chứa hai số nguyên dương N, Q (N, Q ≤ 3.10^5).
- Dòng thứ hai gồm N số nguyên dương a1, a2, …, aN (ai ≤ 10^9).
- Q dòng tiếp theo, mỗi dòng gồm hai số nguyên dương pi và xi (pi ≤ N, xi ≤ 10^9) mô tả một truy vấn.
Kết quả: Ghi ra tệp văn bản LIS.OUT gồm Q dòng, dòng thứ i in ra một số nguyên dương là câu trả lời cho truy vấn thứ i (i=1..Q).
Ví dụ:
LIS.INP LIS.OUT
7 3 5
1 5 3 1 2 4 6 3
2 2 4
7 3
4 100 5
Ràng buộc:
- Có 3 điểm có: N, Q ≤ 300;
- Có 3 điểm tiếp theo có: N, Q ≤ 3000;
- Có 1 điểm còn lại không có ràng buộc gì thêm.