题目描述
(1,2,⋯,N) の順列 P=(P1,P2,⋯,PN) および Q=(Q1,Q2,⋯,QN) が与えられます.
すぬけくんは,P と Q から(連続するとは限らない)部分列を取り出そうとしています. ここで,取り出した部分列は以下の条件を満たす必要があります.
- P から取り出した部分列と Q から取り出した部分列の長さは等しい.以下,この長さを k とおく.
- P から取り出した部分列を a=(a1,a2,⋯,ak),Q から取り出した部分列を b=(b1,b2,⋯,bk) とおく. このとき,各 1 ≤ i ≤ k について,bi は ai の倍数である.
すぬけ君が取り出せる部分列の長さの最大値を求めて下さい.
输入格式
入力は以下の形式で標準入力から与えられる.
N P1 P2 ⋯ PN Q1 Q2 ⋯ QN
输出格式
答えを出力せよ.
题目大意
【题目大意】
给定两个长度为 n(n≤2×105) 的 1∼n 的排列 P 和 Q。
现在需要在 P 和 Q 中分别取出长度为 k 两个子序列 A 和 B,满足 ∀i∈[1,k],ai∣bi。
最大化 k,求 k。
【输入格式】
共三行。
第一行一个整数 n。
第二行 n 个整数表示排列 P。
第三行 n 个整数表示排列 Q。
【输出格式】
一行一个整数 k 表示答案。
4
3 1 4 2
4 2 1 3
2
5
1 2 3 4 5
5 4 3 2 1
3
10
4 3 1 10 9 2 8 6 5 7
9 6 5 4 2 3 8 10 1 7
6
提示
制約
- 1 ≤ N ≤ 200000
- P は (1,2,⋯,N) の順列である
- Q は (1,2,⋯,N) の順列である
- 入力される値はすべて整数である
Sample Explanation 1
P から部分列 (1,2) を,Q から部分列 (4,2) を取り出すと,これは条件を満たします. 長さ 3 以上の部分列を条件を満たすように取ることはできないため,答えは 2 です.