문제
나비는 새로 건설할 도시의 전봇대를 관리하는 일을 맡았다. 아직 전선이 연결되지 않았기 때문에, 나비는 이 전봇대들의 전선을 연결해야 한다. 전봇대는 의 간격으로 직선을 따라 총 개가 건설되어 있으며 왼쪽에서부터 번호가 부터 까지 붙어 있다. 첫 번째 전봇대의 위치는 이고 초기에 번 전봇대의 높이는 이다. 좌표평면에서 나타낸다면 번 전봇대는 부터 를 연결하는 선분으로 생각할 수 있다.
전선은 두 전봇대의 가장 윗부분을 최단 거리로 연결한다. 즉 번째 전봇대와 번째 전봇대가 연결된다면 와 를 선분으로 연결한다. 그리고 이때 연결 비용은 전선의 길이의 제곱이다.
나비는 준혁이에게 시작 전봇대의 번호 를 받고 번 전봇대를 포함하여 몇 개의 전봇대를 선택하여 전선을 연결한다. 선택한 전봇대를 번호의 오름차순으로 정렬하였을 때 라 한다면 번째 전봇대와 번째 전봇대를 전선으로 연결하게 된다.
또한 나비는 다음과 같은 조건을 만족하도록 전봇대를 선택하여 연결하여야 한다.
- 나비가 연결한 전선과 전봇대가 교차해선 안 된다. 단, 전선이 어떤 전봇대 와 에서 만나는 것은 가능하다.
- 를 기준으로 왼쪽으로 갈수록 선택한 전봇대의 높이가 단조증가하고, 를 기준으로 오른쪽으로 갈수록 선택한 전봇대의 높이가 단조증가하여야 한다. 즉 일 때 를 만족해야 한다.
- 나비는 연결한 전선의 길이 합이 최대가 되도록 전선을 연결하려고 한다. 만약 그런 경우가 여러 가지 있다면, 연결 비용의 합이 최소인 방법으로 연결한다.
준혁이는 나비에게 개의 작업을 준다. 작업마다 시작 전봇대가 일 때 조건을 만족하게 연결 비용의 합의 최솟값을 구해보자.