최적의 분할
시간 제한1초메모리 제한2048 MB
1부터 n까지의 순열 A와 B가 주어질 때, 같은 위치에서 두 순열을 잘라 각 조각의 최솟값 위치가 A와 B에서 일치하도록 하면서 조각 수를 최소로 하는 값을 구한다.
문제
이상 이하 정수들로 이루어진 길이 인 순열 와 가 주어진다. 와 에서 동일한 개의위치를 골라서 각각 개의 조각으로 나누려고 한다. 단, 각 에 대해, 의 번째 조각의 최솟값의 위치와 의 번째 조각의 최솟값의 위치가 서로 같아야 한다. 예를 들어서, 이고 라 하자. 만약, 를 로 나누면, 는 로 나누어지며, 위에서 설명한 조건을 만족시킨다. 물론 와 를 길이가 인 개의 조각들로 나누면 위 조건을 쉽게 만족시킬 수 있다. 따라서 우리는 조건을 만족하면서 조각의 수 가 최소가 되도록 나누고자 하며, 이러한 분할을 최적의 분할이라고 하자. 위 예시에서 인 분할이 최적의 분할이다.
, , 가 주어질 때, 최적의 분할을 찾고, 그 때의 를 출력하는 프로그램을 작성하시오.
입력
입력은 표준입력을 사용한다. 첫 줄에 와 의 길이를 나타내는 양의 정수 ()이 주어진다. 두 번째 줄에 에 대한 정보가 주어지며, 이상 이하인 개의 정수들이 주어진다. 세번째 줄에 에 대한 정보가 주어지며, 이상 이하인 개의 정수들이 주어진다. 두 번째 줄과 세번째 줄에서, 같은 줄에는 같은 정수가 두 번 이상 주어지지 않는다.
출력
출력은 표준출력을 사용한다. 첫 줄에 최적의 분할의 조각 수를 출력한다.