아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Собеседование

면접 대비

시간 제한2초메모리 제한1024 MB

요약
두 수열이 주어질 때, 양쪽 모두의 공통 부분수열이면서 엄격히 증가하는 가장 긴 수열의 길이를 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 투 포인터, 배열
정답자
아직 제출이 없습니다

문제

На собеседовании при поступлении на работу в компанию Sasnart кандидатам предлагается решить задачу о наибольшей общей возрастающей подпоследовательности двух последовательностей чисел.

Суть задачи сводится к следующему: из последовательности чисел a_ia\_i необходимо выделить подпоследовательность a_i_ka\_{i\_k} такую, что она:

  • возрастает, т. е. ∀k:a_i_k<a_i_k+1\forall{k}:a\_{i\_k} < a\_{i\_{k+1}}
  • является подпоследовательностью последовательности b_ib\_i
  • имеет длину, не меньшую, чем все последовательности, обладающие предыдущими двумя свойствами

Вам же, для проверки правильности решения кандидатами этой задачи, необходимо научиться вычислять хотя бы длину такой подпоследовательности.

입력

В первой строке входного файла даны два целых числа nn и mm (1≤n,m≤5,0001 \le n, m \le 5,000) --- длины последовательностей a_ia\_i и b_ib\_i. Вторая и третья строки содержат, соответственно, по nn и mm натуральных чисел, не превосходящих 10,00010,000, --- сами последовательности.

출력

В выходной файл выведите единственное целое число --- длину последовательности, обладающей описанными свойствами.

예제1

  1. 예제 1

    입력
    6 5
    2 3 1 4 6 5
    1 2 5 4 6
    
    예상 출력
    3