만드는 중입니다

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

에이! 이건 내 물고기야!

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

요약
두 플레이어가 일렬로 놓인 카드 위에 펭귄을 배치하고 번갈아 움직입니다. 물고기 수의 차이를 최대화할 때 첫 번째 플레이어가 얻을 수 있는 최대 차이를 구합니다.
난이도

보통10점 중 7점

유형
게임 이론, 동적 계획법, 비트 연산
정답자
아직 제출이 없습니다

문제

보드게임 에이! 이건 내 물고기야!를 단순화한 버전입니다. 이 게임은 펭귄 말을 옮기며 보드 위에서 물고기를 모으는 게임입니다. 게임에는 물고기 그림이 그려진 nn장의 카드와 펭귄 말이 사용됩니다.

게임을 시작할 때 카드를 어떤 순서로든 탁자 위에 한 줄로 놓습니다.

각 플레이어는 펭귄을 두 마리씩 받습니다. 먼저 첫 번째 플레이어가 자신의 펭귄 한 마리를 비어 있는 얼음판에 놓습니다. 이어서 두 번째 플레이어가 같은 방식으로 놓습니다. 그 다음 같은 순서로 두 번째 펭귄을 놓습니다.

모든 펭귄이 얼음판 위에 놓이면 물고기 잡이가 시작됩니다. 플레이어는 번갈아 가며 턴을 진행합니다. 한 턴에는 현재 플레이어의 펭귄 한 마리를 옮깁니다. 그다음 플레이어는 턴을 시작할 때 그 펭귄이 서 있던 얼음판을 가져가 자기 앞에 놓습니다.

펭귄은 얼음판을 따라 어느 방향으로든 움직일 수 있고, 비어 있는 얼음판 어디에서든 멈출 수 있습니다. 다른 펭귄을 뛰어넘는 것과 얼음판을 제거한 뒤 남은 구멍을 뛰어넘는 것은 금지됩니다. 펭귄의 양쪽이 모두 장애물이면 그 펭귄은 움직일 수 없습니다.

현재 플레이어가 펭귄을 한 마리도 움직일 수 없으면, 그 플레이어는 자신의 펭귄 전부와 그 펭귄들이 서 있던 얼음판을 가져갑니다. 그 후 상대 플레이어가 자신의 펭귄을 움직일 수 있는 동안 계속 턴을 진행합니다.

게임이 끝나면 각 플레이어는 자신이 모은 카드에 있는 물고기 수를 셉니다. 플레이어의 목표는 자신의 물고기 수와 상대의 물고기 수의 차이를 최대로 만드는 것입니다. 두 번째 플레이어가 최적으로 플레이할 때 첫 번째 플레이어가 얻을 수 있는 차이의 최댓값은 얼마입니까?

입력

첫 줄에 카드의 개수 nn (4≤n≤104 \le n \le 10)이 주어집니다. 둘째 줄에는 탁자에 놓인 순서대로 각 카드의 물고기 수 aia_i가 nn개 주어집니다. 1≤ai≤1061 \le a_i \le 10^6.

출력

두 번째 플레이어가 최적으로 플레이할 때 첫 번째 플레이어가 얻을 수 있는 차이의 최댓값을 한 줄에 출력합니다.

힌트

문제 조건의 테스트에 대한 게임 진행:

게임 시작 시 보드 위에 펭귄이 한 마리도 없습니다:

첫 번째 플레이어가 첫 번째 펭귄을 놓습니다:

두 번째 플레이어가 첫 번째 펭귄을 놓습니다:

첫 번째 플레이어가 두 번째 펭귄을 놓습니다:

두 번째 플레이어가 두 번째 펭귄을 놓습니다:

첫 번째 플레이어의 턴:

두 번째 플레이어의 턴:

첫 번째 플레이어의 턴:

예제1

  1. 예제 1

    입력
    7
    1 3 2 2 3 2 1
    
    예상 출력
    0