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

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

용

면접 대비

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

요약
N개의 머리가 일렬로 있을 때, 각각 최대 K개씩 연속한 두 구간을 겹치지 않게 골라 제거하는 화력의 합을 최대로 만든다.
난이도

보통10점 중 6점

유형
동적 계획법, 누적 합, 슬라이딩 윈도우, 배열
정답자
아직 제출이 없습니다

문제

전설적인 슬라브 용사 일리야 무로메츠가 전설적인 용과 맞서 싸운다.

이 용에게는 머리가 NN개 있고, 왼쪽부터 오른쪽으로 1,2,…,N1, 2, \dots, N번으로 번호를 매긴다. 용답게 불을 뿜을 수 있으며, ii번째 머리의 화력은 FiF_i이다.

무로메츠는 칼을 한 번 휘둘러 연속한 머리를 최대 KK개까지 잘라낼 수 있다. 한 번 휘두른 뒤에는 남은 머리들이 서로 붙어 다시 하나의 연속한 줄을 이룬다.

지금 용은 잠시 정신이 멍한 상태여서, 무로메츠는 칼을 연달아 두 번 휘두를 수 있다. 이 두 번의 공격으로 무로메츠가 없앨 수 있는 화력의 최대 합을 구하여라.

입력

첫째 줄에 공백으로 구분된 두 정수, 용의 머리 개수 NN과 무로메츠의 최대 공격 범위 KK가 주어진다 (1≤N≤200 0001 \le N \le 200\,000, 1≤K≤200 0001 \le K \le 200\,000).

둘째 줄에 공백으로 구분된 NN개의 정수 FiF_i가 주어지며, 이는 각 머리의 화력이다 (1≤Fi≤20001 \le F_i \le 2000, i=1,…,Ni = 1, \dots, N).

출력

무로메츠가 두 번의 공격으로 없앨 수 있는 화력의 최대 합을 정수 하나로 출력한다.

예제2

  1. 예제 1

    입력
    8 2
    1 3 3 1 2 3 11 1
    
    예상 출력
    20
    
  2. 예제 2

    입력
    4 100
    10 20 30 40
    
    예상 출력
    100