만드는 중입니다

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

의자

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

요약
두 줄에 놓인 의자의 보석 값이 주어질 때, 경비원이 모두 막을 수 없는 한 쌍의 최대 합을 구합니다. 가능한 쌍이 없으면 0을 출력합니다.
난이도

보통10점 중 7점

유형
이분 탐색, 투 포인터, 그리디
정답자
아직 제출이 없습니다

문제

키사 보로뱌니노프는 장모가 의자 안에 숨겨 둔 보석을 마침내 찾아냈다. 그는 의자를 두 줄로 놓고, 아무도 훔치지 못하도록 사람들을 고용해 지키게 하기로 했다. 키사는 본래 매우 인색해서, 고용된 사람은 모두 정확히 두 개의 의자를 지킨다. 첫 번째 줄에서 의자 하나, 두 번째 줄에서 의자 하나다. 지키는 사람은 한동안 한 의자에 앉아 있다가, 빠르게 달려가 다른 의자에서 또 한동안 앉아 있다. 그런 다음 처음 의자로 다시 달려가고, 같은 과정이 처음부터 반복된다.

두 사람이 의자 사이를 뛰어다니다 서로 부딪히지 않도록, 다음 조건을 만족하는 두 사람이 있어서는 안 된다. 첫 번째 사람이 첫 번째 줄의 의자 ii와 두 번째 줄의 의자 jj를 지키고, 두 번째 사람이 첫 번째 줄의 의자 kk와 두 번째 줄의 의자 ll을 지킨다고 하자. 이때 i<ki < k이고 j>lj > l이면 안 된다. 그 밖의 경우는 모두 괜찮다. 예를 들어 같은 의자를 여러 사람이 지키는 것은 허용된다. 키사는 고용하는 총 인원 수에는 신경 쓰지 않는다.

오스탑 벤더가 이제 일을 맡는다. 그는 왼손에 첫 번째 줄의 의자를, 오른손에 두 번째 줄의 의자를 하나씩 들려고 한다. 한 의자만 드는 것은 그의 양심이 허락하지 않는다. 다만 어떤 사람도 두 의자를 동시에 지키지 않는 쌍만 들 수 있다. 그는 두 의자에 든 보석의 합이 최대가 되기를 원한다. 각 의자에 보석이 얼마나 들어 있는지는 오스탑이 알고 있다.

키사가 최선의 방법으로 의자를 지키게 했을 때, 오스탑이 훔친 보석을 팔아 얻는 금액을 구하라.

입력

첫 줄에 두 정수 nn, mm (1≤n,m≤200 0001 \le n, m \le 200\,000)이 주어진다. 각각 첫 번째 줄과 두 번째 줄의 의자 개수다. 둘째 줄에는 첫 번째 줄 의자에 든 보석의 가치 aia_i가 nn개 주어진다 (1≤ai≤1091 \le a_i \le 10^9). 셋째 줄에는 같은 형식으로 두 번째 줄 의자의 보석 가치가 주어진다.

출력

오스탑이 훔친 보석의 가치 합을 한 줄에 출력한다. 아무것도 훔치지 못했다면 0을 출력한다.

예제1

  1. 예제 1

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