해커
시간 제한1초메모리 제한256 MB
값이 적힌 고리에서 시작 컴퓨터를 정해 이웃으로 번져 나가며 최적의 방어자를 상대로 해킹한 값의 합을 최대화합니다.
문제
해커 바이트아사르가 올해 국제 해킹 올림피아드에 출전한다. 종목 하나는 시스템 관리자와 벌이는 게임이다. 컴퓨터 대가 1번부터 번까지 번호를 달고 고리 모양으로 연결되어 있다. 에 대해 번과 번이 연결되어 있고, 번과 1번도 연결되어 있다.
게임 규칙은 다음과 같다.
- 바이트아사르가 먼저 움직이고, 그다음부터 관리자와 바이트아사르가 번갈아 움직인다.
- 첫 수에서 바이트아사르는 컴퓨터 하나를 골라 해킹한다.
- 첫 수에서 관리자는 해킹되지 않은 컴퓨터 하나를 골라 보호한다.
- 이후의 수에서 바이트아사르는 아무것도 하지 않거나, 해킹되지도 보호되지도 않았으면서 이미 해킹된 컴퓨터와 직접 연결된 컴퓨터를 골라 해킹한다.
- 이후의 수에서 관리자는 아무것도 하지 않거나, 해킹되지도 보호되지도 않았으면서 이미 보호된 컴퓨터와 직접 연결된 컴퓨터를 골라 보호한다.
- 두 사람이 연속한 두 수에서 모두 아무것도 하지 않으면 게임이 끝난다.
게임을 시작할 때는 해킹되거나 보호된 컴퓨터가 없다. 번 컴퓨터에는 가치가 인 자료가 들어 있고, 바이트아사르는 해킹한 컴퓨터마다 그 가치 를 점수로 얻는다. 관리자가 최선으로 막을 때 바이트아사르가 얻을 수 있는 최대 점수를 구하라.
입력
첫째 줄에 컴퓨터의 수 이 주어진다. ()
둘째 줄에 정수 이 공백으로 구분되어 주어진다. 는 번 컴퓨터에 저장된 자료의 가치다. ()
출력
관리자가 최선으로 움직일 때 바이트아사르가 얻는 최대 점수를 한 줄에 출력한다.
힌트
첫 번째 예제에서 바이트아사르는 2번 컴퓨터를 해킹해 6점을 얻는다. 관리자는 3번 컴퓨터를 보호한다. 이어서 바이트아사르가 1번 컴퓨터를 해킹해 7점을 얻고, 마지막으로 관리자가 4번 컴퓨터를 보호한다.