CF1106F.Lunar New Year and a Recursive Sequence
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Lunar New Year is approaching, and Bob received a gift from his friend recently — a recursive sequence! He loves this sequence very much and wants to play with it.
Let f1,f2,…,fi,… be an infinite sequence of positive integers. Bob knows that for i>k , fi can be obtained by the following recursive equation:
$$f_i = \left(f_{i - 1} ^ {b_1} \cdot f_{i - 2} ^ {b_2} \cdot \cdots \cdot f_{i - k} ^ {b_k}\right) \bmod p, $$ </p><p>which in short is</p><p> $$ f_i = \left(\prod_{j = 1}^{k} f_{i - j}^{b_j}\right) \bmod p, $$ </p><p>where $p = 998\\,244\\,353$ (a widely-used prime), $b\_1, b\_2, \\ldots, b\_k$ are known integer constants, and $x \\bmod y$ denotes the remainder of $x$ divided by $y$ .</p><p>Bob lost the values of $f\_1, f\_2, \\ldots, f\_k$ , which is extremely troublesome – these are the basis of the sequence! Luckily, Bob remembers the first $k - 1$ elements of the sequence: $f\_1 = f\_2 = \\ldots = f\_{k - 1} = 1$ and the $n$ -th element: $f\_n = m$ . Please find any possible value of $f\_k$$$. If no solution exists, just tell Bob that it is impossible to recover his favorite sequence, regardless of Bob's sadness.输入格式
The first line contains a positive integer k ( 1≤k≤100 ), denoting the length of the sequence b1,b2,…,bk .
The second line contains k positive integers b1,b2,…,bk ( 1≤bi<p ).
The third line contains two positive integers n and m ( k<n≤109 , 1≤m<p ), which implies fn=m .
输出格式
Output a possible value of fk , where fk is a positive integer satisfying 1≤fk<p . If there are multiple answers, print any of them. If no such fk makes fn=m , output −1 instead.
It is easy to show that if there are some possible values of fk , there must be at least one satisfying 1≤fk<p .
输入输出样例
输入#1
3 2 3 5 4 16
输出#1
4
输入#2
5 4 7 1 5 6 7 14187219
输出#2
6
输入#3
8 2 3 5 6 1 7 9 10 23333 1
输出#3
1
输入#4
1 2 88888 66666
输出#4
-1
输入#5
3 998244352 998244352 998244352 4 2
输出#5
-1
输入#6
10 283 463 213 777 346 201 463 283 102 999 2333333 6263423
输出#6
382480067
说明/提示
In the first sample, we have f4=f32⋅f23⋅f15 . Therefore, applying f3=4 , we have f4=16 . Note that there can be multiple answers.
In the third sample, applying f7=1 makes f23333=1 .
In the fourth sample, no such f1 makes f88888=66666 . Therefore, we output −1 instead.