교통 단속

시간 제한2초메모리 제한128 MB

요약
뒤섞인 N개의 진입 및 진출 시각을 짝지어 유효한 매칭을 만들고, 모든 매칭 중 총 과태료의 최솟값과 최댓값을 구하는 문제입니다.
난이도

보통10점 중 7점

유형
그래프, 동적 계획법, 수학, 그리디
정답자
아직 제출이 없습니다

문제

어떤 도로를 지나간 N대의 차에 대해, 도로에 들어간 시각 N개와 도로에서 나온 시각 N개가 각각 기록되어 있다. 기록이 섞여서 어떤 들어간 시각이 어떤 나온 시각과 같은 차의 것인지 알 수 없다.

각 차는 들어간 시각보다 나온 시각이 반드시 늦어야 하며, 모든 시각은 정확히 한 번씩 사용해야 한다. 이렇게 N개의 쌍을 만들 수 없다면 입력은 불가능한 것으로 본다.

한 차가 도로를 통과하는 데 걸린 시간이 S초이고 과속 기준 시간이 T초라고 하자. S < T이면 벌금은 min((T - S)^2, F)원이다. S >= T이면 벌금은 없다.

가능한 모든 올바른 짝짓기 중 총 벌금의 최솟값과 최댓값을 구하라.

입력

첫째 줄에 차의 수 N이 주어진다. N은 50 이하의 자연수이다.

둘째 줄에는 도로에 들어간 시각 N개가 공백으로 구분되어 주어진다.

셋째 줄에는 도로에서 나온 시각 N개가 공백으로 구분되어 주어진다.

모든 시각은 0 이상 1000 이하의 정수이다.

넷째 줄에는 과속 기준 시간 T가 주어진다. 다섯째 줄에는 한 차에 부과할 수 있는 벌금의 최댓값 F가 주어진다. T는 1 이상 1000 이하의 자연수이고, F는 0 이상 10000 이하의 정수이다.

출력

가능한 짝짓기 중 총 벌금의 최솟값과 최댓값을 공백으로 구분하여 출력한다.

주어진 시각들로 N개의 올바른 쌍을 만들 수 없으면 -1을 출력한다.

예제4

  1. 예제 1

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

    입력
    2
    2 1
    60 40
    100
    100
    
    예상 출력
    200 200
    
  3. 예제 3

    입력
    5
    1000 584 390 392 109
    987 724 814 597 422
    1
    30
    
    예상 출력
    -1
    
  4. 예제 4

    입력
    3
    1 2 3
    4 5 6
    7
    42
    
    예상 출력
    48 56