눈덩이 굴리기 서브태스크 1초 32MB
문제
눈송이들이 많은 동네인 용산에서 눈사람 만들기 대회를 연다.
앞마당의 길이는
대회 규칙은 해당 앞마당에서
눈덩이의 시작 크기는
가장 큰 눈사람을 만들고 싶던 수수는 눈덩이를 굴리는 법을 연구했다.
눈덩이를 굴리는 방법에는 두 가지가 있다.
눈덩이를 굴리거나 던질 때 1초가 소모된다.
눈덩이를 현재 위치 +1칸으로 굴린다. 현재 칸의 위치를
i 라고 하면 눈덩이의 크기는a_{i+1} 만큼 늘어난다.눈덩이를 현재 위치 +2칸으로 던진다. 눈덩이가 착지하며 충격을 받아 눈덩이의 크기는
원래의 크기의 반으로 줄어들고 현재 칸의 위치를i 라고 하면 눈덩이의 크기는a_{i+2} 만큼 늘어난다.이 때 소수점은 절사한다. 눈덩이를 던져 크기가
0 이 되어도 눈덩이는 사라지지 않는다.
눈덩이가 앞마당의 끝에 도달한 경우 남은 시간과 관계없이 눈덩이 굴리기는 끝이 난다.
대회 시간 내에 가장 크게 만들 수 있는 눈덩이의 크기를 구하는 프로그램을 작성해보자.
입력
첫째 줄에 공백을 기준으로 앞마당의 길이
둘째 줄에 길이가
출력
첫째 줄에 대회 시간 동안에 가장 크게 만들 수 있는 눈덩이의 크기를 출력한다.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 30점 | |
| #2 | 70점 | 추가 제한 없음 |
예제
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 |