만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

어려운 문제

면접 대비

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

요약
0과 1로 이루어진 두 수열의 공통 부분수열 중 비감소하는 것의 최대 길이를 구합니다.
난이도

보통10점 중 5점

유형
문자열, 누적 합, 동적 계획법
정답자
아직 제출이 없습니다

문제

게임에서 탈출하려면 닥터 스몰더 브레이브스톤이 이 어려운 문제를 풀어야 한다. 0과 1로만 이루어진 두 수열이 주어진다. 두 수열 모두의 부분수열이면서 감소하지 않는(비감소) 수열 중 가장 긴 것의 길이를 구하라. 박사는 문제 풀이보다 부메랑 던지기에 더 능하여 도움을 청했다.

입력

첫째 줄에 첫 번째 수열의 길이 nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5)이 주어진다. 둘째 줄에는 첫 번째 수열의 원소 aia_i (0≤ai≤10 \le a_i \le 1) nn개가 주어진다. 셋째 줄에는 두 번째 수열의 길이 mm (1≤m≤2⋅1051 \le m \le 2 \cdot 10^5)이 주어진다. 넷째 줄에는 두 번째 수열의 원소 bib_i (0≤bi≤10 \le b_i \le 1) mm개가 주어진다.

출력

두 수열의 공통 비감소 부분수열 중 가장 긴 것의 길이를 한 줄에 출력한다.

힌트

문제 속 예시에서 가장 긴 공통 비감소 부분수열은 {0, 0, 1, 1, 1}이며 길이는 5이다.

예제1

  1. 예제 1

    입력
    7
    0 0 0 1 0 1 1
    6
    0 0 1 1 0 1
    
    예상 출력
    5