만드는 중입니다

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

벌금 최적화

면접 대비

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

요약
각 과속 값 K를 서비스 번호 R 하나와 짝지어, 두 수를 이어 붙인 값들의 합이 최소가 되는 금액을 구합니다.
난이도

보통10점 중 5점

유형
그리디, 정렬
정답자
아직 제출이 없습니다

문제

아무도 과속으로 단속에 걸리고 싶어 하지 않습니다. 게다가 바이토시아에서는 벌금이 매우 무겁고, 벌금을 매기는 체계도 꽤 복잡합니다.

각 위반은 쌍 (Ki,Ri)(K_i, R_i)로 기록됩니다. KiK_i는 허용 속도를 얼마나 넘었는지를 나타내고, RiR_i는 벌금을 부과한 경찰관의 근무 번호입니다. 벌금액은 KiK_i와 RiR_i의 숫자를 이어 붙인 값입니다. 예를 들어 Ki=12K_i = 12, Ri=5432R_i = 5432이면 벌금액은 125432125432입니다.

바이토자르는 벌금 NN건을 막 받았습니다. 총액을 보고 다시는 Alfa Bitteo에서 액셀을 밟지 않겠다고 다짐했습니다. 다만 차를 지키고 앞으로 1년 동안 케첩 말고도 무엇이든 먹으려면 벌금을 어느 정도 최적화해야 합니다.

납부한 벌금은 두 세무 부서가 확인합니다. 속도 기록 부서는 납부 내역에 모든 속도 값 KiK_i가 들어 있는지만 확인하고, 경찰관 기록 부서는 근무 번호 RiR_i가 맞는지만 확인합니다. 하지만 어떤 순서로, 어떤 쌍을 묶어 납부했는지는 아무도 확인하지 않습니다. 그래서 총액은 달라질 수 있습니다. 영리한 교통 위반자 바이토자르는 KiK_i와 RiR_i의 숫자를 원래와 다르게 이어 붙여 총액을 가장 작게 만들 수 있습니다. 그를 도와줄 수 있겠습니까?

프로그램은 속도 초과 값 KiK_i와 근무 번호 RiR_i를 입력받아, 각 KiK_i를 하나의 RiR_i와 최적으로 짝지었을 때 나올 수 있는 벌금 총액의 최솟값을 계산하고 표준 출력에 씁니다.

입력

첫 줄에 바이토자르가 받은 벌금 수를 나타내는 자연수 NN이 주어집니다 (1≤N≤10000001 \le N \le 1000000).

둘째 줄에는 속도 초과 값을 나타내는 자연수 NN개 KiK_i가 주어집니다 (1≤Ki≤1000001 \le K_i \le 100000).

셋째 줄에는 바이토자르를 적발한 경찰관들의 근무 번호인 자연수 NN개 RiR_i가 주어집니다 (1≤Ri≤1000001 \le R_i \le 100000).

출력

첫 줄(유일한 줄)에 속도 초과 값과 근무 번호를 최적으로 짝지었을 때의 벌금 총액 최솟값을 자연수로 출력합니다.

예제2

  1. 예제 1

    입력
    3
    5 2 30
    13 9 7
    
    예상 출력
    579
    
  2. 예제 2

    입력
    5
    5 12 7 2 8
    1 1 1 1 1
    
    예상 출력
    345