만드는 중입니다

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

보드 게임

면접 대비

시간 제한1초메모리 제한128 MB

요약
1번 칸에서 시작해 한 번에 1부터 6칸씩 전진하며 n번 칸에 도착할 때 방문한 칸 값의 합이 가장 크도록 합니다.
난이도

쉬움10점 중 3점

유형
동적 계획법
정답자
아직 제출이 없습니다

문제

비 오는 날, 두 친구가 집 안에만 있게 되어 심심함을 달래려고 게임을 하나 만들었다.

종이에 칸을 nn개 그린다. 각 칸에는 수가 두 개 적혀 있는데, 하나는 칸 번호(11부터 nn까지의 서로 다른 정수)이고, 다른 하나는 칸의 값(−1000-1000 이상 10001000 이하의 정수)이다. 말은 11번 칸에서 출발한다. 매 차례마다 플레이어는 각 면에 11부터 66까지 적힌 정육면체 주사위를 굴려 나온 눈만큼 말을 앞으로 옮긴다. 말이 nn번 칸에 도착하는 순간 게임이 끝난다. 점수는 말이 거쳐 간 모든 칸의 값을 더한 것으로, 출발 칸인 11번과 도착 칸인 nn번도 포함한다.

플레이어는 주사위 눈을 원하는 대로 정할 수 있으므로, 한 판은 11번 칸에서 시작해 매번 11에서 66 사이만큼 앞으로 나아가 정확히 nn번 칸에서 끝나는 이동 순서에 대응된다. 이런 모든 이동 순서 중에서 얻을 수 있는 최대 점수를 구하여라.

입력

첫째 줄에 칸의 개수 nn (1≤n≤1061 \le n \le 10^6)이 주어진다. 둘째 줄에 nn개의 정수 w1,w2,…,wnw_1, w_2, \dots, w_n (−1000≤wi≤1000-1000 \le w_i \le 1000)이 주어지며, wiw_i는 ii번 칸의 값이다.

출력

주어진 판에서 얻을 수 있는 최대 점수를 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    4
    1 2 -1 1
    
    예상 출력
    4