눈덩이 굴리기

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

눈송이들이 많은 동네인 숙명여대 앞마당에서 눈사람 만들기 대회를 연다. 앞마당의 길이는 NN이고 위치 11부터 위치 NN 까지만 눈이 쌓여있다. 위치 ii에 눈이 a_ia\_i만큼 쌓여있다. 대회 규칙은 해당 앞마당에서 MM초 동안 눈덩이를 굴려 눈사람을 만드는 것이다. 눈덩이의 시작 크기는 11이다. 눈덩이의 시작 위치는 00이다.

가장 큰 눈사람을 만들고 싶던 수수는 눈덩이를 굴리는 법을 연구했다. 눈덩이를 굴리는 방법에는 두 가지가 있다. 눈덩이를 굴리거나 던질 때 1초가 소모된다.

  1. 눈덩이를 현재 위치 +1칸으로 굴린다. 현재 칸의 위치를 ii라고 하면 눈덩이의 크기는 a_i+1a\_{i+1} 만큼 늘어난다.
  2. 눈덩이를 현재 위치 +2칸으로 던진다. 눈덩이가 착지하며 충격을 받아 눈덩이의 크기는 원래의 크기의 반으로 줄어들고  현재 칸의 위치를 ii라고 하면 눈덩이의 크기는 a_i+2a\_{i+2} 만큼 늘어난다. 이 때 소수점은 절사한다. 눈덩이를 던져 크기가 00이 되어도 눈덩이는 사라지지 않는다.

눈덩이가 앞마당의 끝에 도달한 경우 남은 시간과 관계없이 눈덩이 굴리기는 끝이 난다. 대회 시간 내에 가장 크게 만들 수 있는 눈덩이의 크기를 구하는 프로그램을 작성해보자.

입력

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

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

출력

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