Cho một dãy số nguyên A = a1, a2, ... , an. Một dãy con của A là một cách chọn ra trong A một số phần tử giữ nguyên thứ tự. Như vậy A có 2n dãy con.
Yêu cầu: Tìm dãy con tăng nghiêm ngặt của A có độ dài lớn nhất.
Ví dụ: A = (1, 2, 3, 4, 9, 10, 5, 6, 7). Dãy con tăng nghiêm ngặt dài nhất là (1, 2, 3, 4, 5, 6, 7).
Dữ liệu nhập: gồm 2 dòng
- Dòng thứ nhất là số phần tử n của dãy (1 ≤ n ≤ 1.000)
- Dòng thứ hai gồm n số nguyên a1, a2, ... , an, mỗi số cách nhau một khoảng trắng (1 ≤ ai ≤ 109).
Dữ liệu xuất: gồm 2 dòng
- Dòng thứ nhất: số nguyên m là số lượng phần tử của dãy con tăng nghiêm ngặt dài nhất.
- Dòng thứ hai: là m phần tử của dãy con tăng nghiêm ngặt dài nhất, mỗi số cách nhau một khoảng trắng. Nếu có nhiều đáp án, chỉ cần in ra một đáp án bất kỳ.
Ghi chú: một dãy b1, b2, ... , bk được gọi là tăng nghiêm ngặt nếu bi < bi+1 với 1 ≤ i < k.