DÃY CON TĂNG CÓ THỨ TỰ TỪ ĐIỂN NHỎ NHẤT

Nguồn: None

Cho số nguyên dương ~ n ~ ~ (n≤2000) ~ và dãy số nguyên ~ a_1,a_2,…,a_n ~ ~ (|a_i |≤10^{18}) ~. Hãy tìm cách loại bỏ một số phần tử trong dãy số sao cho các phần tử còn lại tạo thành một dãy con tăng (số đứng sau có giá trị lớn hơn số đứng trước) có nhiều phần tử nhất và có thứ tự từ điển nhỏ nhất.

Dữ liệu vào

  • Dòng đầu tiên ghi số nguyên dương ~n~;
  • Dòng thứ hai ghi lần lượt ~n~ số nguyên ~a_1,a_2,…,a_n~

Kết quả

  • Dòng đầu tiên là số nguyên dương ~m~ cho biết độ dài của dãy con tìm được.
  • Dòng thứ 2 ghi lần lượt các số trong dãy con tìm được

Ví dụ:

Input 1

6
1 3 2 6 5 4 

Output 1

3
1 2 4 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. linhdinh (32/39)
  2. gialinh_10van (23/25)
  3. phamnhi (16/67)
Trong 7 ngày
  1. phamnhi (126/300)
  2. ilpnvm (69/111)
  3. dambinh (61/97)
Trong 30 ngày
  1. ducchinh (184/249)
  2. hienpham (183/244)
  3. bichngoc (179/266)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37789

Lưu Hải Phong - 2020
[email protected]