변형 LCS
시간 제한1초메모리 제한128 MB
증가하는 두 등차수열이 공유하는 항의 개수를 구합니다.
문제
LCS는 최장 공통 부분 수열(longest common subsequence)을 뜻하고, 잘 알려진 문제다. 이 문제에서 수열은 정수를 나열한 목록이다. 수열 에서 원소 0개 이상을 지우고 남은 원소의 순서를 그대로 두었을 때 수열 가 나오면 를 의 부분 수열이라고 한다.
수열 두 개가 주어진다. 두 수열 모두의 부분 수열인 가장 긴 수열의 길이를 구하라.
수열 자체는 주어지지 않는다. 수열 하나마다 정수 세 개 , , 가 주어진다. 은 수열의 길이, 는 수열의 첫 원소이고, 첫 원소를 뺀 모든 원소는 바로 앞 원소보다 만큼 크다.
예를 들어 , , 는 수열 를 나타낸다.
두 수열에 모두 속하면서 1,000,000보다 크지 않은 정수가 적어도 하나 있다.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다 (). 이어지는 개의 줄에 테스트 케이스가 한 줄씩 주어진다. 각 줄에는 공백 하나로 구분된 정수 여섯 개 , , , , , 가 있다 (, ). 차례대로 첫 번째 수열의 길이, 첫 번째 수열의 첫 원소, 첫 번째 수열의 증가량, 두 번째 수열의 길이, 두 번째 수열의 첫 원소, 두 번째 수열의 증가량이다.
출력
테스트 케이스마다 두 수열의 최장 공통 부분 수열의 길이를 정수 하나로 한 줄에 출력한다.