만드는 중입니다

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

등산가

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

요약
0에서 시작해 0에서 끝나는 산맥의 고도 배열이 주어질 때, 앨리스와 밥이 같은 고도에서 만나기 위한 최소 노력을 구합니다.
난이도

보통10점 중 7점

유형
배열, 완전 탐색, 동적 계획법
정답자
아직 제출이 없습니다

문제

산맥은 해수면(고도 0)에서 시작해 해수면에서 끝나는 꺾은선으로 나타낼 수 있다. 그 사이의 고도는 모두 양수이며, 이를 내부 고도라고 한다. 앨리스와 밥은 산맥의 양 끝에서 각각 등반을 시작한다. 두 사람은 산맥을 따라 앞뒤로 자유롭게 움직일 수 있지만, 서로 같은 고도에 있어야 한다.

앨리스가 간 경로의 노력은 경로 위에서 인접한 고도 차이의 절댓값을 모두 더한 값이다. 앨리스의 경로가 고도 h1=0h_1 = 0에서 출발해 방향을 바꾸는 고도 h2,h3,…,hP−1h_2, h_3, \ldots, h_{P-1}을 거쳐 고도 hPh_P에서 끝난다면, 노력은 ∣h2−h1∣+∣h3−h2∣+⋯+∣hP−hP−1∣|h_2-h_1|+|h_3-h_2|+\cdots+|h_P-h_{P-1}|이다. 같은 시간 동안 밥도 같은 노력을 들인다.

앨리스와 밥이 만나기 위해 필요한 최소 노력을 구하라.

입력

산맥은 구간 끝점의 고도를 나타내는 정수 NN개의 배열로 주어진다. 첫째 줄에 NN이 주어진다. 둘째 줄에 NN개의 정수가 주어진다. 첫 번째 정수와 마지막 정수는 항상 0이다.

출력

앨리스와 밥이 만나기 위해 필요한 최소 노력을 정수 하나로 출력한다. 만날 수 없으면 NO를 출력한다.

제한

3≤N≤5,0003 \le N \le 5{,}000

내부 고도는 1 이상 1,000,000 이하이다.

예제2

  1. 예제 1

    입력
    5
    0 4 2 7 0
    
    예상 출력
    11
    
  2. 예제 2

    입력
    7
    0 10 1 20 5 10 0
    
    예상 출력
    48