만드는 중입니다

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

최적 부분수열

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

요약
배열에서 인덱스 순서를 유지하며 원소 k개를 고르고, 순환상으로 인접한 두 원소 합의 최댓값을 최소로 만드는 문제입니다.
난이도

보통10점 중 7점

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

문제

길이가 nn인 배열 w1,w2,…,wnw_1, w_2, \ldots, w_n이 주어진다.

원소 kk개를 골라 부분수열을 만든다. 고른 원소의 인덱스를 1≤i1<i2<…<ik≤n1 \le i_1 < i_2 < \ldots < i_k \le n이라고 한다.

목표는 이러한 모든 부분수열에 대해 다음 값의 최솟값을 구하는 것이다.

max⁡(wi1+wi2,wi2+wi3,…,wik−1+wik,wik+wi1)\max(w_{i_1} + w_{i_2}, w_{i_2} + w_{i_3}, \ldots, w_{i_{k-1}} + w_{i_k}, w_{i_k} + w_{i_1})

입력

첫 줄에 배열의 길이 nn과 부분수열의 길이 kk가 주어진다 (3≤k≤n≤2000003 \le k \le n \le 200000).

둘째 줄에 공백으로 구분된 정수 w1,w2,…,wnw_1, w_2, \ldots, w_n이 주어진다 (1≤wi≤1091 \le w_i \le 10^9).

출력

길이가 kk인 모든 부분수열에 대해 위 식 값의 최솟값을 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    5 3
    17 18 17 30 35
    
    예상 출력
    35