페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2309

[중등부] 2024 KOI 2차대회 대비 모의고사 (3주차)

눈덩이 굴리기
서브태스크
1초 32MB

문제

눈송이들이 많은 동네인 용산에서 눈사람 만들기 대회를 연다.

앞마당의 길이는 N이고 위치 1부터 위치 N 까지만 눈이 쌓여있다. 위치 i에 눈이 a_i만큼 쌓여있다.

대회 규칙은 해당 앞마당에서 M초 동안 눈덩이를 굴려 눈사람을 만드는 것이다.

눈덩이의 시작 크기는 1이다. 눈덩이의 시작 위치는 0이다.

가장 큰 눈사람을 만들고 싶던 수수는 눈덩이를 굴리는 법을 연구했다.

눈덩이를 굴리는 방법에는 두 가지가 있다.

눈덩이를 굴리거나 던질 때 1초가 소모된다.

  • 눈덩이를 현재 위치 +1칸으로 굴린다. 현재 칸의 위치를 i라고 하면 눈덩이의 크기는 a_{i+1} 만큼 늘어난다.

  • 눈덩이를 현재 위치 +2칸으로 던진다. 눈덩이가 착지하며 충격을 받아 눈덩이의 크기는
    원래의 크기의 반으로 줄어들고 현재 칸의 위치를 i라고 하면 눈덩이의 크기는 a_{i+2} 만큼 늘어난다.

    이 때 소수점은 절사한다. 눈덩이를 던져 크기가 0이 되어도 눈덩이는 사라지지 않는다.

눈덩이가 앞마당의 끝에 도달한 경우 남은 시간과 관계없이 눈덩이 굴리기는 끝이 난다.

대회 시간 내에 가장 크게 만들 수 있는 눈덩이의 크기를 구하는 프로그램을 작성해보자.


입력

첫째 줄에 공백을 기준으로 앞마당의 길이 N (1 \leq N \leq 1,000), 대회의 시간 M (1 \leq M \leq 500)이 주어진다.

둘째 줄에 길이가 N인 수열 a가 주어진다. (1 \leq a_i \leq 100\,000)


출력

첫째 줄에 대회 시간 동안에 가장 크게 만들 수 있는 눈덩이의 크기를 출력한다.


부분문제

번호 점수 조건
#130점

N \le 100, M \le 10

#270점

추가 제한 없음


예제

10 5
1 3 4 5 6 7 8 10 12 14
28

아래 표와 같은 순서로 진행을 하면 크기 28의 눈덩이를 만들 수 있다.

시간

0

1

2

3

4

5

위치

0

2

4

6

7

8

눈덩이 크기

1

3

6

10

18

28

로그인해야 코드를 작성할 수 있어요.