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

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

학교 올림피아드

면접 대비

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

요약
좌표가 주어진 n명의 학생을 정원 제한이 있는 세 장소에 배정해 총 이동 거리의 최솟값을 구한다.
난이도

보통10점 중 7점

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

문제

내일 링랜드의 수도에서 정보 올림피아드가 열린다.

수도의 모든 집은 일직선으로 뻗은 메인 거리의 정수 좌표에 있다. 올림피아드는 메인 거리의 세 지점에서 열린다. 각 지점에는 참가할 수 있는 최대 인원 제한이 있다.

첫 번째 지점의 좌표는 aa이고 제한은 n_an\_a명이다. 두 번째 지점의 좌표는 bb이고 제한은 n_bn\_b명이다. 세 번째 지점의 좌표는 cc이고 제한은 n_cn\_c명이다.

올림피아드에 참가할 학생이 nn명 있고, ii번째 학생은 좌표 x_ix\_i에 있는 집에 산다. 주최자는 각 학생이 참가할 지점을 정해야 한다. 지점의 제한을 넘을 수 없다. 모든 학생이 참가할 수 있도록 전체 제한이 충분하다는 것이 보장된다.

어떤 학생이 좌표 pp에 살고 참가할 지점의 좌표가 qq라면, 올림피아드 전에 ∣p−q∣|p - q|만큼 걸어야 한다. 학생을 세 지점에 최적으로 배정했을 때 학생들이 올림피아드 전에 걸어야 하는 총 거리의 최솟값을 구하시오.

입력

첫째 줄에는 두 정수 aa와 n_an\_a가 주어진다. 이는 첫 번째 지점의 좌표와 참가 제한이다. 둘째 줄에는 두 정수 bb와 n_bn\_b가 주어진다. 이는 두 번째 지점의 좌표와 참가 제한이다. 셋째 줄에는 두 정수 cc와 n_cn\_c가 주어진다. 이는 세 번째 지점의 좌표와 참가 제한이다 (−109≤a,b,c≤109-10^9 \le a, b, c \le 10^9; 1≤n_a,n_b,n_c≤100 0001 \le n\_a, n\_b, n\_c \le 100\,000).

넷째 줄에는 정수 nn이 주어진다. 이는 학생 수이다 (1≤n≤100 0001 \le n \le 100\,000, n≤n_a+n_b+n_cn \le n\_a + n\_b + n\_c).

다음 줄에는 nn개의 정수 x_ix\_i가 주어진다. 이는 학생들의 집 좌표이다 (−109≤x_i≤109-10^9 \le x\_i \le 10^9).

출력

학생들이 올림피아드 전에 걸어야 하는 총 거리의 최솟값을 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    0 1
    3 2
    6 3
    4
    -2 1 3 2
    
    예상 출력
    8