给定正整数序列x1 ,...... , xn。
(1)计算其最不下降子序列的长度s。
(2)计算从给定的序列中最多可取出多少个长度为s的不下降子序列。
(3)如果允许在取出的序列中多次使用x1和xn,则从给定序列中最多可取出多少个长度为s的不下降子序列。
编程任务:设计有效算法完成(1)(2)(3)提出的计算任务。
输入描述:
第1 行有1个正整数n,表示给定序列的长度。接下来的1 行有n个正整数n x1,x2,... , xn 。
输出描述:
程序运行结束时,将任务(1)(2)(3)的解答输出。第1 行是最长不下降子序列的长度s。第2行是可取出的长度为s 的不下降子序列个数。第3行是允许在取出的序列中多次使用x1和xn时可取出的长度为s 的不下降子序列个数。
备注:
1≤n≤500