Dãy con đơn điệu tăng dài nhất

Xem PDF

Điểm: 1000 Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Cho dãy số nguyên \(A = (a_1,a_2,...,a_n)\). 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\)\(2^n\) dãy con.

Yêu cầu: Tìm dãy con đơn điệu tăng của \(A\) có độ dài lớn nhất. Tức là tìm một số \(k\) lớn nhất và dãy chỉ số \(i_1<i_2<...<i_k\) sao cho \(a_{i_1}<a_{i_2}<...<a_{i_k}\).

Input

  • Dòng 1: số nguyên dương \(n\) \((n≤10^5 )\).
  • Dòng 2: \(n\) số nguyên \(a_1, a_2,...,a_n\) (∀i: \(|a_i |≤10^9\))

Output

  • Dòng 1: số nguyên \(k\)
  • Dòng 2: \(k\) số nguyên \(i_1,i_2,…,i_k\)

Example

Test 1

Input
12
1 2 3 8 9 4 5 6 2 3 9 10
Output
8
1 2 3 6 7 8 11 12

Bình luận

Không có bình luận nào.