만드는 중입니다

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

Zrinka

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

요약
0과 1로 이루어진 두 배열이 주어집니다. 0에는 짝수, 1에는 홀수인 서로 다른 양의 정수를 배정해 두 배열을 모두 증가하게 만들고, 사용하는 가장 큰 수를 최소화합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 그리디
정답자
아직 제출이 없습니다

문제

길이가 각각 nn, mm인 두 배열이 주어진다. 두 배열은 0과 1로만 이루어져 있다.

모든 0을 양의 짝수로, 모든 1을 양의 홀수로 바꿔야 한다. 바꾼 뒤 두 배열은 모두 증가해야 하며, 각 양의 정수는 최대 한 번만 사용할 수 있다.

이 문제가 너무 쉬울 수 있으니, 사용하는 가장 큰 수가 최대한 작아지도록 해야 한다. 두 배열이 주어졌을 때 가능한 가장 작은 최댓값을 출력하라.

입력

첫 번째 배열의 길이는 nn이다 (0≤n≤5 0000 \le n \le 5\,000). 두 번째 배열의 길이는 mm이다 (1≤m≤5 0001 \le m \le 5\,000).

첫 줄에는 n+1n + 1개의 정수가 주어진다. 첫 번째 정수는 nn이고, 나머지는 첫 번째 배열의 원소다.

둘째 줄에는 m+1m + 1개의 정수가 주어진다. 첫 번째 정수는 mm이고, 나머지는 두 번째 배열의 원소다.

출력

위 질문의 답인 양의 정수 하나를 첫 줄에 출력한다.

힌트

두 번째 예시의 설명: 가능한 해 중 하나는 (2,3,4,5)(2, 3, 4, 5)와 (1,6,8,9)(1, 6, 8, 9)이다.

세 번째 예시의 설명: 가능한 해 중 하나는 (2,3,6,8,9)(2, 3, 6, 8, 9)와 (4,10,12,13)(4, 10, 12, 13)이다.

예제3

  1. 예제 1

    입력
    0
    4 1 0 1 1
    
    예상 출력
    5
    
  2. 예제 2

    입력
    4 0 1 0 1
    4 1 0 0 1
    
    예상 출력
    9
    
  3. 예제 3

    입력
    5 0 1 0 0 1
    4 0 0 0 1
    
    예상 출력
    13