만드는 중입니다

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

카드 게임

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

요약
니콜이 낼 카드 N장과 사이먼이 가진 M장이 주어질 때, 라운드마다 다른 카드를 내서 점수 합이 최소가 되는 값을 구합니다.
난이도

보통10점 중 7점

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

문제

니콜과 시몬은 NN라운드로 이루어진 카드 게임을 한다. ii번째 라운드에서 니콜은 숫자 aia_i가 적힌 카드를 낸다. 그러면 시몬은 자기 손에서 카드 한 장을 내야 한다. 시몬이 낸 카드의 값이 bib_i이면 니콜은 ∣ai−bi∣|a_i-b_i|점을 얻는다. 즉 시몬은 니콜이 낸 카드와 최대한 가까운 카드를 내려고 한다.

니콜이 낼 카드가 정확히 주어지고, 시몬이 처음에 손에 들고 있는 MM장의 카드가 주어질 때, 시몬이 최적으로 플레이하면 니콜이 얻을 수 있는 최소 점수는 얼마인가? MM은 항상 NN 또는 N+1N+1이다.

입력

첫째 줄에 두 정수 NN (1≤N≤2⋅1051\leq N \leq 2 \cdot 10^5)과 MM (N≤M≤N+1N\leq M \leq N+1)이 주어진다.

둘째 줄에는 정수 NN개가 주어진다. ii번째 정수 aia_i (0≤ai≤1090\le a_i \le 10^9)는 니콜이 ii번째 라운드에 내는 카드의 값이다.

셋째 줄에는 정수 MM개가 주어진다. ii번째 정수 bib_i (0≤bi≤1090\le b_i \le 10^9)는 시몬이 손에 들고 있는 ii번째 카드의 값이다.

출력

시몬이 최적으로 플레이할 때 니콜이 얻는 최소 총점을 정수 하나로 출력한다.

힌트

예시 1에서는 시몬이 첫 라운드에 값이 1인 카드를, 두 번째 라운드에 값이 2인 카드를 내는 것이 최적이다. 그러면 니콜은 ∣1−1∣+∣10−2∣=8|1-1| + |10-2| = 8점을 얻는다.

예시 2에서 시몬은 값이 2, 5, 1인 카드를 그 순서대로 낸다.

예시 3에서 시몬은 값이 4, 6, 3, 1인 카드를 그 순서대로 낸다.

예제4

  1. 예제 1

    입력
    2 3
    1 10
    2 0 1
    
    예상 출력
    8
    
  2. 예제 2

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

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

    입력
    5 5
    0 0 0 0 0
    1000000000 1000000000 1000000000 1000000000 1000000000
    
    예상 출력
    5000000000