실내 자전거 프로그램
시간 제한1초메모리 제한1024 MB
각 단계마다 정확히 1씩 변하고 값이 M과 N 사이에 머무는 길이 T의 수열 개수를 10^9+7로 나눈 나머지로 구한다.
- 난이도
보통10점 중 6점
- 유형
- 동적 계획법
- 정답자
- 아직 제출이 없습니다
문제
비니시우스는 헬스장에서 운동하기를 아주 좋아한다. 그는 실내 자전거를 탈 때마다 매번 다른 운동 프로그램을 받기로 트레이너와 약속했다. 헬스장에서 말하는 프로그램이란 운동 난이도를 시간 순서대로 늘어놓은 수열이다. 비니시우스의 실내 자전거 프로그램은 모두 길이가 같아야 하고, 난이도는 1분마다 바로 한 단계 위나 바로 한 단계 아래로 바뀌어야 한다. 난이도는 미리 정해 둔 최솟값보다 낮아도 안 되고 최댓값보다 높아도 안 된다.
즉, 분짜리 프로그램은 1분마다의 난이도를 순서대로 적은 길이 의 정수 수열이고, 이웃한 두 분의 난이도는 정확히 만큼 차이가 난다. 위 조건을 지키면서 트레이너가 만들 수 있는 서로 다른 프로그램의 개수를 구하라.
입력
첫째 줄에 세 정수 , , 이 공백으로 구분되어 주어진다. (, )
는 운동하는 시간(분), 은 허용되는 난이도의 최솟값, 은 허용되는 난이도의 최댓값이다.
출력
트레이너가 만들 수 있는 서로 다른 프로그램의 개수를 한 줄에 출력한다. 이 값이 매우 클 수 있으므로 로 나눈 나머지를 출력한다.