만드는 중입니다

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

Eradication Sort

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

요약
남은 사람이 키의 비내림차순을 이루도록 일부를 지울 때, 남는 빈칸 길이의 제곱합이 최소가 되는 값을 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 세그먼트 트리, 정렬
정답자
아직 제출이 없습니다

문제

No-Weather-too-Extreme Recreational Climbing 동아리 회원들은 7년 전 오늘 첫 등반에 성공했다.

당시 회원들은 사진을 찍기 위해 한 줄로 나란히 섰다. 하지만 등반가들은 키 순서대로 서 있지 않았고, 사진의 순서는 바꿀 수 없다.

사진에서 일부 등반가를 잘라내야 한다.

그림 E.1: 원래 11명이던 사진을 편집해 7명만 남긴 사진이다.

최적해는 사진에 보이는 빈틈의 크기와 개수를 최소화한다. 비용은 편집한 사진에 남는 빈틈 길이의 제곱을 모두 더한 값이다. 예를 들어 개별 등반가 두 명을 제거하고 인접한 두 명을 한 쌍으로 제거하면 총 비용은 12+12+22=61^2 + 1^2 + 2^2 = 6이다.

등반가를 제거해서 얻을 수 있는 최소 비용을 구하라.

입력

첫 줄에 사진 속 사람 수 nn (1≤n≤1061 \le n \le 10^6)이 주어진다.

둘째 줄에는 사진 속 사람들의 키를 나타내는 nn개의 정수 h1,h2,…,hnh_1, h_2, \ldots, h_n (0≤h≤1060 \le h \le 10^6)이 주어진다.

출력

남은 등반가들이 비내림차순을 이루도록 제거했을 때 얻을 수 있는 최소 비용을 출력한다.

예제3

  1. 예제 1

    입력
    7
    1 2 3 0 5 6 7
    
    예상 출력
    1
    
  2. 예제 2

    입력
    9
    4 5 6 4 2 3 6 6 6
    
    예상 출력
    8
    
  3. 예제 3

    입력
    11
    3 6 12 7 7 7 6 8 10 5 5
    
    예상 출력
    6