가장 긴 공통 연속 부분 수열

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

두 정수 수열 $S1$과 $S2$가 주어진다. $S1$의 길이는 $L_1$ ($1 \le L_1 \le 180$)이고, $S2$의 길이는 $L_2$ ($1 \le L_2 \le 180$)이다. 두 수열 모두에 공통으로 나타나는 가장 긴 연속 부분 수열의 길이를 출력하라.

$S1$의 원소는 $S1_1, S1_2, \dots, S1_{L_1}$ ($-100 \le S1_i \le 100$)이고, $S2$의 원소는 $S2_1, S2_2, \dots, S2_{L_2}$ ($-100 \le S2_i \le 100$)이다.

연속 부분 수열이란 수열에서 연속으로 이어진 원소들의 나열을 뜻한다. 예를 들어 수열 1 2 3 1의 연속 부분 수열은 빈 수열, 1, 1 2, 1 2 3, 1 2 3 1, 2, 2 3, 2 3 1, 3, 3 1, 그리고 다시 나타나는 1이다.

경쟁 프로그래밍을 처음 시작할 때 흔히 접하는 전형적인 문제이다.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 $L_1$과 $L_2$
  • 이어지는 $L_1$개의 줄: 각 줄에 정수 $S1_i$가 하나씩 주어진다
  • 이어지는 $L_2$개의 줄: 각 줄에 정수 $S2_i$가 하나씩 주어진다

출력

  • 한 줄에 정수 하나를 출력한다: $S1$과 $S2$에 공통으로 나타나는 가장 긴 연속 부분 수열의 길이

힌트

예제에서 정답 $7$은 공통 연속 부분 수열 1, 1, 1, 3, 2, 3, 3에 해당한다.