만드는 중입니다

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

뮤직 플레이리스트

면접 대비

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

요약
민규가 앞의 곡으로 최대 두 번까지 되돌아갈 수 있을 때, 어떤 곡도 세 번 이상 듣지 않도록 하면서 선호도의 합을 최대로 구합니다.
난이도

보통10점 중 6점

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

문제

민규는 신우에게 NN개의 곡이 담긴 플레이리스트를 추천받았습니다. 각 곡에는 민규가 선호하는 정도 PiP_i가 있습니다. 신우의 취향이 많이 반영된 곡은 PiP_i가 음수일 수 있습니다.

민규는 플레이리스트의 곡을 처음부터 순서대로 듣습니다. 싫어하는 곡을 건너뛰는 것은 플레이리스트를 선물한 신우에게 예의가 아니라고 생각하므로, 뒤쪽 곡으로 건너뛰지는 않습니다. 대신 좋은 곡은 다시 듣고 싶으므로, 현재 듣고 있는 곡보다 앞에 있던 곡으로 최대 두 번 돌아가 그 곡부터 다시 들을 수 있습니다. 다만 같은 노래를 세 번 이상 듣게 되는 경우는 없도록 곡을 잘 건너뛰어야 합니다.

곡 ii를 들으면 민규의 만족도가 PiP_i만큼 올라갑니다. 민규가 플레이리스트를 가장 만족스럽게 들었을 때의 만족도를 구하세요.

입력

첫 번째 줄에 곡의 개수 NN이 주어집니다. (2≤N≤5×105)(2 \le N \le 5 \times 10^5)

두 번째 줄에 NN개의 정수 P1,P2,P3,...,PNP_1, P_2, P_3, ..., P_N이 공백으로 구분되어 주어집니다. (−109≤Pi≤109)(-10^9 \le P_i \le 10^9)

출력

첫 번째 줄에 민규가 얻을 수 있는 최대 만족도를 출력합니다.

예제2

  1. 예제 1

    입력
    6
    3 2 5 1 4 2
    
    예상 출력
    34
    
  2. 예제 2

    입력
    7
    -1 2 3 -8 6 -2 5
    
    예상 출력
    19