Maxdifficent Group
면접 대비시간 제한1초메모리 제한1024 MB
배열을 연속된 그룹으로 나누고, 인접한 두 그룹의 합 차이가 가장 큰 값을 구합니다.
문제
정수 배열 이 주어진다. 단, 이다. 배열의 각 원소를 다음 규칙을 지키면서 그룹에 배정한다.
- 각 원소는 정확히 하나의 그룹에 속한다.
- 인 와 가 같은 그룹에 속하면, 인 모든 도 같은 그룹에 속한다.
- 서로 다른 그룹에 속한 원소 쌍이 적어도 하나 있다.
를 의 그룹 ID라고 하자. 그룹의 비용은 그 그룹에 배정된 의 원소를 모두 더한 값이다.
서로 다른 두 그룹 ID 와 는 모든 에 대해 가 또는 일 때에만 인접한다. 두 그룹 ID , 의 값은 두 비용 차이의 절댓값이다.
인접한 그룹 ID 쌍 전체에서 값의 최댓값이 가장 커지도록 그룹을 배정한다. 이 최댓값만 출력하면 된다.
예를 들어 이면 그룹을 배정하는 방법은 8가지이다. 배정 이면 가장 큰 값은 150이다.
입력
첫 줄에 의 원소 개수 ()이 주어진다. 다음 줄에는 개의 정수 ()가 주어진다.
출력
모든 그룹 배정에 대해 얻을 수 있는 값의 최댓값을 한 줄에 출력한다.