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

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

달아난 소들

면접 대비

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

요약
소들이 일직선 위 서로 다른 위치에 있고 존은 0에서 출발해 분당 한 단위씩 움직인다. 소마다 도착할 때까지 분당 1달러의 피해가 발생할 때 도착 시각의 합을 최소로 만든다.
난이도

보통10점 중 7점

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

문제

농부 John이 농장 울타리의 구멍을 고치는 것을 잊어버려서, 그가 기르는 NN마리의 소(1≤N≤10001 \le N \le 1000)가 탈출해 난동을 부리고 있다! 소 한 마리가 울타리 밖에 있는 매 1분마다 1달러의 피해가 발생한다. John은 각 소에게 찾아가 소를 진정시켜 피해를 멈추는 고삐(halter)를 채워야 한다.

다행히 소들은 농장 밖 도로의 직선 위 서로 다른 위치에 놓여 있다. John은 각 소 ii의 위치 PiP_i(−500000≤Pi≤500000-500000 \le P_i \le 500000, Pi≠0P_i \ne 0)를 알고 있으며, 이 좌표는 John이 출발하는 정문(위치 0)을 기준으로 한다.

John은 1분에 거리 1만큼 이동하며 고삐는 즉시 채울 수 있다. John이 소들을 방문하는 순서를 잘 정하여 발생하는 총 피해 비용을 최소화하려고 한다. 이때 가능한 최소 총 피해 비용을 구하여라.

입력

  • 첫째 줄: 소의 수 NN.
  • 둘째 줄부터 N+1N+1째 줄까지: i+1i+1째 줄에 정수 PiP_i가 주어진다.

출력

  • 첫째 줄: 발생하는 총 피해 비용의 최솟값.

힌트

각 소는 John이 고삐를 채우기 전까지 매 분 1달러씩 피해를 누적한다. 따라서 어떤 소의 피해 비용은 John이 그 소에 도착하는 시각(정문에서 출발한 뒤 지금까지 이동한 총 거리)과 같고, 전체 비용은 모든 소의 도착 시각의 합과 같다. John은 항상 이미 방문한 소들이 이루는 구간의 양 끝 중 한쪽에 있으므로, 방문한 소들의 집합은 언제나 위치 0을 포함하는 연속 구간을 이룬다.

예제4

  1. 예제 1

    입력
    4
    -2
    -12
    3
    7
    
    예상 출력
    50
    
  2. 예제 2

    입력
    1
    5
    
    예상 출력
    5
    
  3. 예제 3

    입력
    1
    -7
    
    예상 출력
    7
    
  4. 예제 4

    입력
    2
    3
    10
    
    예상 출력
    13