[ARC033D] 見たことのない多項式
题意翻译
**题目描述**
高桥君有一个未知的 $N$ 次多项式 $P(x)$,只知道 $P(x)$在$x=0,1,2,3\cdots N$ 时的值。高桥君希望知道当 $x=T$ 时,多项式的值。结果对 $10^9+7$ 取模。
**输入格式**
输入数据共三行。
第一行一个 $N$ 表示多项式次数。
第二行 $N+1$ 个数顺次表示 $P(x)$ 在 $0\sim N$ 处的值 $A_i$。
第三行一个数 $T$,表示询问。
**输出格式**
共一行一个数,表示 $P(T)$ 在 $\bmod\ 10^9+7$ 意义下的答案。
**提示**
对于 $40 \%$ 的数据,满足 $N \leq 100$。
对于 $80 \%$ 的数据,满足 $N \leq 3000$。
对于全部 $100 \%$ 的数据,$1 \leq N \leq 10^5$, $0 \leq A_i \leq 10^9+6$, $T \leq 10^9$。
题目描述
[problemUrl]: https://atcoder.jp/contests/arc033/tasks/arc033_4
高橋君は、見たことのない $ N $ 次多項式 $ P(x) $ を見つけたそうです。この多項式の係数は全て正整数だそうです。高橋君はあなたに $ P(0) $ 〜 $ P(N) $ の値を教えてくれました。さてここで、あなたは $ P(T) $ の値を当てることができるでしょうか。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_0 $ $ A_1 $ ... $ A_N $ $ T $
- $ 1 $ 行目には、高橋君が見つけた多項式の次数を表す整数 $ N\ (1\ ≦\ N\ ≦\ 10^5) $ が与えられる。
- $ 2 $ 行目には、$ N+1 $ 個の整数が空白区切りで与えられる。このうち $ i $ 番目の整数 $ A_{i-1}\ (0\ ≦\ A_{i-1}\ ≦\ 10^9+6) $ は、$ P(i-1) $ の値を $ 1,000,000,007\ (10^9+7) $ で割った余りを表す。
- $ 3 $ 行目には、整数 $ T\ (1\ ≦\ T\ ≦\ 10^9) $ が与えられる。これは、あなたが当てなければならない値が $ P(T) $ であることを表す。
输出格式
$ P(T) $ の値を $ 1,000,000,007\ (10^9+7) $ で割った余りを $ 1 $ 行に出力せよ。このような値は一意に定まることが保証される。出力の末尾に改行を入れること。
输入输出样例
输入样例 #1
2
1 3 7
3
输出样例 #1
13
输入样例 #2
5
4 16 106 484 1624 4384
1000000000
输出样例 #2
999984471
说明
### 部分点
この問題には部分点が設定されている。
- $ N\ ≦\ 100 $ を満たすテストケース全てに正解した場合は、$ 40 $ 点が与えられる。
- $ N\ ≦\ 3,000 $ を満たすテストケース全てに正解した場合は、$ 80 $ 点が与えられる。
### Sample Explanation 1
このケースでは、$ P(0)=1,P(1)=3,P(2)=7 $ であり、$ x^2+x+1 $ という多項式が条件を満たします。このとき $ P(3)=13 $ であるため $ 13 $ を出力します。他にも $ x^2+x+10^9+8 $ などの多項式が条件を満たしますが、$ P(3) $ を $ 10^9+7 $ で割った余りはいずれも $ 13 $ となります。