최대 공통 증가 부분 수열
면접 대비시간 제한1초메모리 제한256 MB
두 정수 수열이 주어질 때, 두 수열의 가장 긴 공통 증가 부분수열의 길이를 구한다.
문제
정수로 이루어진 두 수열 와 가 주어진다. 두 수열의 공통 증가 부분 수열 중 가장 긴 것의 길이를 구하는 프로그램을 작성하시오.
수열 가 수열 의 증가하는 부분 수열이라는 것은 다음 두 조건을 모두 만족한다는 뜻이다.
- 를 만족하는 인덱스 가 존재한다. 즉, 는 의 부분 수열이다.
- 모든 에 대해 이다. 즉, 는 강하게 증가한다.
공통 증가 부분 수열은 와 두 수열 모두의 증가하는 부분 수열인 수열을 말한다.
입력
두 수열이 각각 두 줄에 걸쳐 주어진다.
- 첫째 줄에 첫 번째 수열의 길이 이 주어진다. ()
- 둘째 줄에 첫 번째 수열의 원소 이 공백으로 구분되어 주어진다. ()
- 셋째 줄에 두 번째 수열의 길이 이 주어진다. ()
- 넷째 줄에 두 번째 수열의 원소 이 공백으로 구분되어 주어진다. ()
출력
최대 공통 증가 부분 수열의 길이를 한 정수로 출력한다. 공통 증가 부분 수열이 존재하지 않으면 을 출력한다.