아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

옷걸이대

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

요약
옷걸이와 목표 위치를 정렬한 뒤 순서를 유지하면서 옷을 밀어 목표에 맞출 때 총 불만족의 최솟값을 구한다. 같은 좌표에 겹쳐 놓을 수도 있다.
난이도

어려움10점 중 8점

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

문제

지그마스는 물품 보관소에서 일한다. 이곳에서는 사람들이 각자 자기 옷을 직접 걸어 두는데, 나중에는 자신이 걸어 둔 위치에 만족하지 못한다.

보관소에는 일직선 모양의 옷걸이대가 있고, NN명이 각각 옷 한 벌씩을 걸어 두었다. 모든 옷은 정수 좌표 aia_i 위치에 걸려 있으며, 한 좌표에는 옷이 최대 한 벌만 걸릴 수 있다. 각 옷의 주인은 자기 옷을 좌표 bib_i 위치로 옮기고 싶어 하고, 그 사람의 불만족도는 옷의 현재 위치에서 원하는 위치까지의 거리와 같다.

지그마스는 옷들을 밀어서 주인들의 불만족도 합을 최대한 줄이려고 한다. 옷을 옷걸이대에서 떼어 낼 수는 없으므로 옷들의 앞뒤 순서를 서로 바꿀 수는 없다. 다만 여러 옷을 서로 아주 가까이 밀어붙여 같은 좌표를 갖게 하는 것은 허용된다.

옷들을 다시 배치했을 때 나올 수 있는 불만족도 합의 최솟값을 구하여라.

입력

첫째 줄에 두 정수 옷의 개수 NN과 옷걸이대의 길이 LL이 공백으로 구분되어 주어진다.

둘째 줄에 옷들의 처음 좌표를 나타내는 NN개의 정수 aia_i가 공백으로 구분되어 주어진다.

셋째 줄에 주인들이 자기 옷이 놓이기를 원하는 좌표를 나타내는 NN개의 정수 bib_i가 공백으로 구분되어 주어진다.

출력

옷들을 다시 배치했을 때 얻을 수 있는 불만족도 합의 최솟값을 한 줄에 출력한다.

제한

  • 2≤N≤100 0002 \le N \le 100\,000
  • 0≤ai,bi≤L≤1090 \le a_i, b_i \le L \le 10^9
  • N≤L+1N \le L + 1
  • i≠ji \ne j이면 ai≠aja_i \ne a_j

예제1

  1. 예제 1

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