{"code":"lbxr","name":"Dãy \"Lên bờ xuống ruộng\"","description":"Cho dãy $a$ gồm $n$ phần tử $a_1,a_2,...,a_n$.\r\n\r\nDãy $a$ được gọi là dãy **\"Lên bờ xuống ruộng\"** nếu tồn tại phần tử $i(1\\le i\\le n)$ thoả mãn : $a_1<a_2<...<a_{i-1}<a_i>a_{i+1}>...>a_{n-1}>a_n$.\r\n\r\n**Yêu cầu:** Cho một dãy $b$ gồm $m$ phần tử $b_1,b_2,...,b_m$ bất kì. Nhiệm vụ của bạn là từ mảng $b$ chọn ra các phần tử để tạo thành dãy $a$ sao cho $a$ là dãy **\"Lên bờ xuống ruộng\"** và số lượng phần tử của dãy $a$ là nhiều nhất có thể. Nếu có nhiều đáp án, in ra bất kì.\r\n\r\n####Input\r\n- Dòng thứ nhất chứa số nguyên $m$\r\n- Dòng thứ hai chứa $m$ số nguyên $b_1,b_2,...,b_m$\r\n\r\n####Output\r\n- Dòng thứ nhất chứa số lượng phần tử của dãy $a$\r\n- Dòng thứ hai thể hiện các phần tử của dãy $a$\r\n\r\n####Constraints\r\n- $1\\leq m\\leq 10^5$\r\n- $1\\leq b_i\\leq 5000$\r\n\r\n####Example\r\n!!! question \"Test 1\"\r\n    ???+ \"Input\"\r\n        ```sample\r\n        3\r\n        1 2 3 \r\n        ```\r\n    ???+ success \"Output\"\r\n        ```sample\r\n        3\r\n        1 2 3\r\n        ```","points":250.0,"partial":false,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}