LCIS

Accepts: 109
Submissions: 775
Time Limit: 4000/2000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
Alex有两个序列$a_1,a_2,...,a_n$和$b_1,b_2,...,b_m$. 他想找到它们的最长公共递增子序列, 并且这个子序列的值是连续的($x,x+1,...,y-1,y$).
输入描述
输入包含多组数据, 第一行包含一个整数$T$表示测试数据组数. 对于每组数据:

第一行包含两个整数$n$和$m$ $(1 \le n, m \le 100000)$表示两个序列的长度. 第二行包含$n$个整数: $a_1, a_2, ..., a_n$ $(1 \le a_i \le 10^6)$. 第三行包含$m$个整数: $b_1, b_2, ..., b_m$ $(1 \le b_i \le 10^6)$.

输入最多有$1000$组数据, 并且所有数据中$n$与$m$的和不超过$2 \times 10^6$.
输出描述
对于每组数据, 输出一个整数表示长度.
输入样例
3
3 3
1 2 3
3 2 1
10 5
1 23 2 32 4 3 4 5 6 1
1 2 3 4 5
1 1
2
1
输出样例
1
5
0