공 떨어뜨리기
시간 제한1초메모리 제한128 MB
n개의 공과 n개의 구멍이 있다. 공은 (i,h)에서 (i,0) 구멍으로 수직 낙하한다. 정확히 하나의 장애물(두 정수 열 사이의 선분)을 놓는데, 오른쪽으로 기울면 해당 열 범위의 공들이 오른쪽(낮은) 끝 구멍으로, 왼쪽으로 기울면 왼쪽(낮은) 끝 구멍으로 간다. 각 방향에 대해 모든 유효한 배치 중 최대 점수를 구하되, 장애물은 반드시 하나 놓아야 하므로 점수가 낮아지더라도 최선을 택한다. n은 최대 3e5, c_i 절댓값은 최대 1e9이므로 O(n log n) 또는 O(n)이 필요하고, 답은 64비트 정수 범위이다.
문제
표준 좌표평면 위에 공 개와 구멍 개가 있다. 어떤 높이 에 대해 공은 위치에 놓여 있고, 구멍은 위치에 있다. 어느 순간 모든 공이 동시에 아래로(축의 음의 방향으로) 떨어지기 시작한다. 공이 번 구멍에 들어가면 점을 얻는다.
아무것도 하지 않으면 공 는 구멍 로 떨어져 총점은 이 된다. 결과를 바꾸려면 정확히 하나의 장애물을 설치해야 하며, 장애물은 서로 다른 두 정수 열을 잇는 선분이다.
- 오른쪽 장애물은 , , 을 만족하는 선분 이다(오른쪽으로 기울어져 오른쪽 끝이 더 낮다).
- 왼쪽 장애물은 , , 를 만족하는 선분 이다(왼쪽으로 기울어져 왼쪽 끝이 더 낮다).
떨어지던 공이 선분에 닿으면 잠시 멈춘 뒤 선분의 낮은 쪽 끝으로 미끄러져 내려가고, 마지막으로 그 낮은 끝 바로 아래의 구멍으로 곧장 떨어진다. 열 번호가 범위에 있는 모든 공이 장애물에 걸린다. 따라서 오른쪽 장애물은 공 를 모두 구멍 로 보내고, 왼쪽 장애물은 공 를 모두 구멍 로 보낸다. 장애물을 설치하면 여러 공이 들어간 구멍과 하나도 없는 구멍이 생길 수 있지만, 모든 공은 여전히 어떤 구멍엔가 들어간다.

다음 두 질문에 답하라.
- 오른쪽 장애물을 정확히 하나 설치해야 할 때 얻을 수 있는 최고 점수는 얼마인가?
- 왼쪽 장애물을 정확히 하나 설치해야 할 때 얻을 수 있는 최고 점수는 얼마인가?
입력
첫째 줄에 공의 개수(구멍의 개수와 같다) 이 정수로 주어진다. 둘째 줄에 왼쪽부터 오른쪽 순서로 구멍의 값 이 공백으로 구분되어 주어진다.
출력
두 줄을 출력한다. 첫째 줄에는 오른쪽 장애물을 정확히 하나 설치해야 할 때의 최고 점수를 정수 하나로 출력한다. 둘째 줄에는 왼쪽 장애물을 정확히 하나 설치해야 할 때의 최고 점수를 정수 하나로 출력한다. 답은 32비트 정수 범위를 벗어날 수 있으므로 64비트 정수 자료형을 사용해야 한다.
제한
- .
- .
참고
인 예제를 보자. 가장 좋은 오른쪽 장애물은 공 3, 4, 5번을 잡아 구멍 5로 보내며 점을 준다. 가장 좋은 왼쪽 장애물은 공 2번부터 6번까지 잡아 구멍 2로 보내며 점을 준다. 다른 어떤 배치도 이보다 높은 점수를 낼 수 없다. 장애물 설치는 필수이므로, 모든 배치가 불리할 때는 필수 선분 때문에 총점이 오히려 낮아질 수 있다.