만드는 중입니다

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

두 덱

면접 대비

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

요약
원빈이 두 배낭의 위아래에서 물건을 합쳐 K개 이하로 꺼낼 때, 그가 들고 가야 하는 배낭 무게의 최솟값을 구합니다.
난이도

보통10점 중 5점

유형
누적 합, 완전 탐색, 배열
정답자
아직 제출이 없습니다

문제

승형이와 원빈이는 배낭여행을 가기 위해 배낭 두 개를 준비했다. 각 배낭에는 NN개의 물건이 들어 있다.

  • 첫 번째 배낭에는 무게가 A1,A2,…,ANA_1, A_2, \dots, A_N인 물건이 아래에서 위로 차례대로 쌓여 있다. ANA_N이 맨 위에 있는 물건의 무게이다.
  • 두 번째 배낭에는 무게가 B1,B2,…,BNB_1, B_2, \dots, B_N인 물건이 아래에서 위로 차례대로 쌓여 있다. BNB_N이 맨 위에 있는 물건의 무게이다.

배낭의 무게는 배낭 안에 남아 있는 물건 무게의 합이다. 원빈이는 최대 KK번 두 배낭 중 하나를 골라 맨 위 또는 맨 아래에 있는 물건을 없앨 수 있다. 물건을 없애면 고른 배낭의 무게는 없앤 물건의 무게만큼 줄어든다.

원빈이의 행동이 모두 끝나면, 승형이는 메고 갈 배낭을 정한다. 승형이는 약삭빠르기 때문에 항상 두 배낭 중 더 가벼운 배낭을 멘다. 두 배낭의 무게가 같다면 둘 중 아무 배낭이나 멘다. 원빈이가 들고 가야 하는 배낭은 승형이가 고르지 않은 배낭이다.

원빈이가 들어야 하는 배낭의 무게의 최솟값을 구해보자.

입력

첫 번째 줄에 두 정수 NN과 KK가 주어진다. (1≤N≤5 0001 \leq N \leq 5\,000, 0≤K≤N0 \leq K \leq N)

두 번째 줄에 첫 번째 배낭에 있는 물건들의 무게 A1,A2,…,ANA_1, A_2, \dots, A_N이 주어진다. (1≤Ai≤1091 \leq A_i \leq 10^9)

세 번째 줄에 두 번째 배낭에 있는 물건들의 무게 B1,B2,…,BNB_1, B_2, \dots, B_N이 주어진다. (1≤Bi≤1091 \leq B_i \leq 10^9)

출력

원빈이가 들어야 하는 배낭의 무게의 최솟값을 출력한다.

예제2

  1. 예제 1

    입력
    3 2
    3 1 4
    1 5 9
    
    예상 출력
    6
    
  2. 예제 2

    입력
    3 0
    3 1 4
    1 5 9
    
    예상 출력
    15