실행 시간 제한 | 메모리 제한 |
---|---|
2 초 | 512 MB |
감독이 기념일을 맞아 아내에게 선물을 보내고 싶어합니다. 자신은 선물 포장을 잘하지 못하기 때문에, 선수들의 도움을 청하려 합니다.
하지만 선수들도 선물 포장에 능숙하지 않습니다.
감독의 명의 선수들()은 모두 한 줄로 서 있으며, 편리하게도 의 순서로 번호가 매겨져 있습니다.
선수 는 선물 포장 능력이 입니다. 이 능력 수준은 크게 달라질 수 있으므로, 감독은 선수들을 팀으로 결합해서 포장을 시키기로 결정했습니다.
팀은 최대 명의 연속된 선수들로 구성될 수 있으며(), 어떤 선수도 둘 이상의 팀에 속할 수 없습니다. 선수들이 서로로부터 포장을 배우기 때문에, 팀에 속한 각 선수의 능력 수준은 그 팀에서 가장 능력 있는 선수의 포장 능력 수준으로 대체될 수 있습니다.
감독이 팀을 최적으로 구성함으로써 달성할 수 있는 포장 능력 수준의 최대 합계를 결정하는 데 도움을 주세요.
입력의 첫 줄에는 과 가 포함되어 있습니다. 다음 개의 줄에는 선수들이 서 있는 순서대로 각 선수의 포장 기술 레벨이 포함되어 있습니다. 각 포장 기술 레벨은 최대 보다 작거나 같은 양의 정수입니다.
적절한 연속된 선수들의 집합을 팀으로 묶어 감독이 달성할 수 있는 포장 기술 레벨의 최대 합을 출력하세요.
7 3 1 15 7 9 2 5 10
84
이 예시에서 최적의 해는 첫 세 명의 선수와 마지막 세 명의 선수를 그룹으로 묶고, 가운데 선수를 혼자 팀으로 남겨두는 것입니다 (보다 작은 크기의 팀을 가지는 것은 괜찮다는 점을 기억하세요). 이렇게 하면 7명의 선수의 포장 기술 레벨을 효과적으로 15, 15, 15, 9, 10, 10, 10으로 증가시킬 수 있으며, 이는 총 84가 됩니다.