Problem8923--YACS - IAI 2023年8月月赛丙组 T2 —— 下降幂多项式

8923: YACS - IAI 2023年8月月赛丙组 T2 —— 下降幂多项式

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

x 的 k 次下降幂定义为
$x^{(k)}=(x)(x−1)(x−2)⋯(x−k+1)$
x 的下降幂多项式是由 x 的一组下降幂及系数组成的算式:
$f(x)=a_nx^{(n)}+a_{n−1}x^{(n−1)}+⋯+a_2x^{(2)}+a_1x^{(1)}+a_0$
给定下降幂多项式 f(x) 的系数 $a_n,a_{n−1},⋯,a_0$ 与一个值 m,请计算 $f(m)\ \bmod\ 1,000,000,007$。

Input

第一行:两个整数 n 与 m
第二行:n+1 个整数 $a_n,a_{n−1},⋯,a_1,a_0$

Output

单个整数:表示 $f(m)\ \bmod\ 1,000,000,007$。

Constraints

30% 的数据,1≤n≤10
60% 的数据,1≤n≤5,000
100% 的数据,1≤n≤300,000
$-10^9≤m≤10^9$
$-10^9≤a_i≤10^9$

Sample 1 Input

3 5
4 3 2 1

Sample 1 Output

311
f(x) = 4(x)(x-1)(x-2)+3(x)(x-1)+2(x)+1
f(5) = 4(5)(4)(3)+3(5)(4)+2(5)+1=240+60+10+1

HINT

相同题目:IAI月赛丙组

Source/Category