R03480
Linear Recurrence Term
레이팅
의견: 0
설명
차수 \(k\)의 수열은 \(n \ge k\)에 대해 \(a_n = c_1 a_{n-1} + c_2 a_{n-2} + \dots + c_k a_{n-k}\)로 정의되며, 초기항 \(a_0, \dots, a_{k-1}\)이 주어진다. 계수, 초기항, 인덱스 \(n\)이 주어질 때 \(a_n \bmod (10^9+7)\)을 출력하시오. 큰 \(n\)을 위해 행렬 거듭제곱을 사용한다.
제약
입력 형식
첫 줄에 \(k\) (\(1 \le k \le 6\))가 주어진다. 둘째 줄에 \(k\)개의 계수 \(c_1, \dots, c_k\)가 주어진다 (\(0 \le c_i \le 100\)). 셋째 줄에 \(k\)개의 초기항 \(a_0, \dots, a_{k-1}\)이 주어진다 (\(0 \le a_i \le 10^9\)). 넷째 줄에 \(n\)이 주어진다 (\(0 \le n \le 10^{18}\)).
출력 형식
\(a_n \bmod (10^9+7)\)을 출력한다.
예제 1
입력
2
1 1
0 1
10
출력
55
예제 2
입력
1
2
1
10
출력
1024
예제 3
입력
2
1 1
2 1
4
출력
7
문제 정보
riseoj 작성
출처 RiseOJ Basics
태그
평가 및 의견
Linear Recurrence Term
개별 의견
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
Linear Recurrence Term
게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다.
로그인하고 제출하기