전망 테라스

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

문제

산속에 승강기로 연결된 전망 테라스들이 세워져 있습니다. 낮은 테라스에서 바로 옆에 있는 더 높은 테라스로 올라갈 때는 두 테라스의 높이 차이만큼 크레딧을 내야 합니다. 반대로 더 높은 테라스에서 더 낮은 테라스로 내려갈 때는 비용이 들지 않습니다. 테라스들은 하나의 사슬처럼 이어져 있어, 첫 번째 테라스에서는 두 번째 테라스로만, 두 번째 테라스에서는 첫 번째와 세 번째 테라스로만 이동할 수 있으며, 이런 식으로 계속됩니다.

크레딧을 kk개만 가진 관광객이 중간에 지상으로 내려오지 않고 연달아 방문할 수 있는 서로 다른 테라스의 최대 개수를 구하세요. 여행을 시작할 테라스에 처음 오를 때는 아무 비용도 들지 않습니다.

입력

첫째 줄에 두 정수 nn, kk가 공백 하나로 구분되어 주어집니다 (1n200001 \le n \le 20000, 0k200000 \le k \le 20000). nn은 테라스의 개수, kk는 관광객이 가진 크레딧의 수입니다.

이어지는 nn개의 줄에는 각 테라스의 높이 h1,h2,,hnh_1, h_2, \dots, h_n이 한 줄에 하나씩 주어집니다. 모든 높이는 1hi100001 \le h_i \le 10000을 만족합니다.

출력

관광객이 kk개의 크레딧으로 방문할 수 있는 테라스의 최대 개수를 정수 하나로 출력합니다.