만드는 중입니다

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

관광 일정

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

요약
관광지 N곳을 순서대로 하루에 최대 K곳씩 나눠 방문합니다. 최소 일수를 유지하면서 날마다 최고 점수의 합이 가장 커지는 값을 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 그리디, 슬라이딩 윈도우
정답자
아직 제출이 없습니다

문제

관광지 NN곳을 방문하는 여행을 계획하고 있습니다. 관광지에는 1번부터 NN번까지 번호가 붙어 있으며, 이 순서대로 방문해야 합니다. 하루에 방문할 수 있는 관광지는 최대 KK곳이고, 가능한 한 적은 일수로 여행을 끝내려고 합니다.

관광지 ii에는 점수 aia_i가 주어집니다. 일정이 주어지면 하루의 점수는 그날 방문한 관광지 중 가장 큰 점수입니다. 일정의 총점은 각 날의 점수를 모두 더한 값입니다. 최소 일수를 사용하는 일정 중에서 총점의 최댓값을 구하세요.

입력

첫째 줄에 두 정수 NN과 KK가 공백으로 구분되어 주어집니다 (1≤K≤N≤1061 \le K \le N \le 10^6).

둘째 줄에는 정수 aia_i가 공백으로 구분되어 NN개 주어집니다 (1≤ai≤1091 \le a_i \le 10^9).

채점 항목 15개 중 3개는 2K≥N2K \ge N인 경우입니다. 추가로 3개는 K≤100K \le 100이고 N≤105N \le 10^5인 경우입니다.

출력

총점의 최댓값을 정수 하나로 출력하세요.

예제1

  1. 예제 1

    입력
    5 3
    2 5 7 1 4
    
    예상 출력
    12