만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

극대점

시간 제한2초메모리 제한1024 MB

요약
1부터 n까지의 순열 중 정확히 k개의 극대점을 갖는 순열의 개수를 239로 나눈 나머지를 구합니다. n은 최대 10^15입니다.
난이도

어려움10점 중 8점

유형
조합론, 행렬, 동적 계획법
정답자
아직 제출이 없습니다

문제

1부터 nn까지의 정수로 이루어진 순열 ⟨a_1,a_2,…,a_n⟩\langle a\_1, a\_2, \ldots, a\_n\rangle에서 a_i−1<a_i>a_i+1a\_{i-1} < a\_i > a\_{i+1}을 만족하는 위치 ii가 정확히 kk개이면, 이 순열은 kk개의 극대점을 가진다고 한다. 단, a_0=a_n+1=0a\_0 = a\_{n+1} = 0으로 둔다.

예를 들어 순열 ⟨3,1,4,5,2⟩\langle 3, 1, 4, 5, 2 \rangle의 극대점은 i=1i = 1과 i=4i = 4, 두 개이다.

입력

입력 파일은 두 정수 nn과 kk (1≤n≤10151 \le n \le 10^{15}, 1≤k≤301 \le k \le 30)를 포함한다.

출력

1부터 nn까지의 정수로 이루어진 순열 중 정확히 kk개의 극대점을 가진 순열의 개수를 239로 나눈 나머지를 한 개의 정수로 출력한다.

예제2

  1. 예제 1

    입력
    3 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    10 3
    
    예상 출력
    131