수 고르기

원 위에 놓인 N개의 수 중에서 서로 이웃하지 않게 정확히 K개를 골라 합이 최대가 되도록 한다.

어려움8동적 계획법그리디연결 리스트아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

kcm1700이 ntopia에게 다음 과제를 냈다. 원형으로 놓인 NN개의 수에서 서로 이웃하지 않게 KK개를 고르고, 고른 KK개의 합을 최대로 만들어라. 이웃하게 골랐다는 것은 고른 수 중에 원 위에서 연속으로 놓인 두 수가 있다는 뜻이다.

수가 원을 이루므로 첫 번째 수와 마지막 수도 서로 이웃한다. 이웃하지 않게 KK개를 골랐을 때의 최대 합을 구하는 프로그램을 작성하여라.

입력

첫째 줄에 양의 정수 NN(3N1063 \le N \le 10^6)과 정수 KK(1KN/21 \le K \le N/2)가 공백을 사이에 두고 주어진다.

둘째 줄에는 원을 이루는 NN개의 자연수가 시계 방향 순서대로 공백을 사이에 두고 주어진다. 각 수는 2312^{31}보다 작다.

출력

첫째 줄에 최대 합을 출력한다. 답은 2312^{31}보다 작다.