过年收红包
[题面描述]
又到了新年收红包的时候了,小明的亲戚摆出了一排红包,希望小明能从中挑选,为了考验小明的学习水平,亲戚给小明制定了规定:
小明挑选红包必须是增序的,也就是说是一个严格上升子序列,除此之外,小明还必须挑选亲戚指定的红包(亲戚指定的红包保证是一个严格上升子序列。
这下子可难倒了小明,小明通过千里传音与你联系,希望你能写一段程序帮他解决,告诉他最多能拿到多少个红包。
[输入说明]
首先输入一个n和一个k,代表红包的个数与亲戚指定的红包数目。
接下来n个数a[0], a[1], ... a[n-1]表示依次红包的数额。 (a[i] <= 100000)
接下来k个数b[0], ..., b[k-1]表示亲戚选中的红包的下标。(0<=b[i]<=n-1)
对于30%的数据, k = 0;
对于70%的数据,n <= 1000;
对于100%的数据,n <= 500000;
[输出说明]
输出小明最多能收到的红包个数。
[输入样例]
10 2
5 1 6 8 2 4 5 10 1 3
0 7
[输出样例]
4