아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

상품

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

요약
n개의 상품 가치와 블록 길이 k가 주어질 때, 앨리스가 먼저 연속한 k개를 고르면 밥이 겹치지 않는 연속한 k개를 고른다. 앨리스가 밥의 합을 최소로 만들 때 그 최솟값을 구한다.
난이도

보통10점 중 7점

유형
슬라이딩 윈도우, 누적 합, 그리디, 이분 탐색
정답자
아직 제출이 없습니다

문제

앨리스와 밥은 텔레비전 퀴즈 쇼의 우승자가 되었고, 이제 상품을 골라야 한다. 고를 수 있는 상품은 1번부터 n번까지 번호가 붙은 n개이다.

상품 분배는 다음과 같이 진행된다. 퀴즈 쇼 주최측은 우승자들에게 양의 정수 k(1 ≤ k ≤ n / 3)를 알려준다. 먼저 앨리스가 연속한 k개의 상품 번호를 고른다. 그다음 밥이 연속한 k개의 상품 번호를 고르는데, 앨리스가 이미 고른 번호는 고를 수 없다. 그 후 우승자들은 자신이 고른 상품을 가져간다.

앨리스는 밥을 잘 알고 있어서, 각 상품이 밥에게 얼마나 가치 있는지 알아냈다. 그 값은 양의 정수이다. 앨리스는 밥에게 화가 나서, 밥이 가져갈 상품의 가치 합이 최대한 작아지도록 자신의 상품을 고르려 한다. 앨리스는 자신이 어떤 상품을 받는지는 신경 쓰지 않는다.

상품의 가치 정보와 k가 주어졌을 때, 앨리스가 밥이 가치 합이 x보다 큰 상품을 고르지 못하게 만들 수 있는 최소 x를 구하는 프로그램을 작성하시오.

입력

첫째 줄에는 두 정수 n과 k가 주어진다. n은 전체 상품의 수이고, k는 두 우승자가 각각 골라야 하는 연속한 상품 번호의 개수이다(3 ≤ n ≤ 100 000, 1 ≤ k ≤ n / 3).

둘째 줄에는 n개의 양의 정수 a1, a2, …, an이 주어진다. 각 상품이 밥에게 가지는 가치이다(1 ≤ ai ≤ 109).

출력

앨리스가 밥이 가치 합이 x보다 큰 상품을 고르지 못하게 만들 수 있는 최소 x를 한 줄에 출력한다.

힌트

예시에서 앨리스는 4번과 5번 상품을 고를 수 있다. 그러면 밥에게는 가치 합이 7인 9번과 10번 상품을 고르는 것이 최선이다.

예제1

  1. 예제 1

    입력
    10 2
    1 2 4 5 2 4 2 2 1 6
    
    예상 출력
    7