#P1259. 难解的问题

难解的问题

【问题描述】

给定一个序列<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。

【输入文件】problem.in

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

第二行N个数,即给出的序列.

【输出文件】problem.out

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

【样例输入】

5 3
1 2 3 2 1

【样例输出】

3

【数据范围】

对于60%的数据,N<=10000;

对于100%的数据,1<=n<=300000 ,1<=k<=n,序列的每一个数为小于maxlongint的非负整数.