페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5685

홀짝홀짝 1초 1024MB

문제

0 또는 1로만 이루어진 배열 두개가 주어진다.

이제, 0들이 위치한 칸을 전부 임의의 양수인 짝수로, 1들이 위치한 칸을 전부 임의의 양수인 홀수로 바꾸러고 한다.

이때, 각 배열은 증가하고 있어야 하며, 두 배열을 합쳐서 보았을 때 중복된 수는 존재하지 않아야 한다.

예를 들어, 두 배열 (1 0 1, 0 0 0)은 (1 2 7, 4 6 8)과 같이 채울 수 있다.

우리는 두 배열에 등장하는 가장 큰 수의 값을 최소화하고 싶다.


입력

첫 줄에는 첫번째 배열의 크기 N과, 그 이후 공백으로 구분된 0 또는 1로만 이루어진 숫자 N개가 주어진다. (0<=N<=5000)

둘째 줄에는 두번째 배열의 크기 M과, 그 이후 공백으로 구분된 0 또는 1로만 이루어진 숫자 M개가 주어진다.​ (1<=M<=5000)


출력

한 줄에 위 조건을 만족하면서 배열을 채웠을 때 등장하는 수의 최대값의 최소값을 출력하시오.


부분문제

번호 점수 조건
#113점

N=0

#218점

첫번째 배열은 0으로만 이루어져 있다.

#333점

N<=500, M<=500

#436점

제한 없음


예제1

입력
0
41011
출력
5

예제2

입력
40101
41001
출력
9

예제3

입력
501001
40001
출력
13

출처

COCI 2022/2023 Contest #4 2번

역링크