1539. 难解的问题

时间限制 1000 ms   内存限制 128 MB

    在你的帮助下,蔚蓝来到了埃及.在金字塔里,蔚蓝看到了一个问题,传说,能回答出这个问题的人就能受到埃及法老的祝福,可是蔚蓝日夜奋战,还是想不出来,你能帮帮他么?(XXX:  胡扯,教主怎么可能想不出来=  _  =||)(WS这人说的=。=)     问题是这样的:      给定一个序列< a1,a2,...,an> .求最长上升子序列(lis)p1< p2< ...< pw满足a[p1]< a[p2]< ...< a[pw]       例如65  158  170  299  300  155  207  389     LIS=< 65,158,170,299,300,389> 。     但是,现在还有一个附加条件:求出的最长上升子序列必须含有第K项。     比如,在上面的例子中,要求求出的最长上升子序列必须含有第6项,那么最长上升子序列就是:65  155  207  389。

输入数据

第一行是用空格隔开的两个正整数N、K,含义同上所述.
第二行N个数,即给出的序列.

输出数据

仅有一个数,表示含有第K项的最长上升子序列的长度.

样例输入

复制
5 3
1 2 3 2 1
 · \n
 · · · · \n

样例输出

复制
3
 \n

样例说明

对于60%的数据,N< =10000;
对于100%的数据,1< =n< =300000&nbsp ,1< =k< =n,序列的每一个数为小于2^31-1&nbsp 的非负整数.

提交

请先 登录

© 2024 FAQs Contact About