Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P195SUMF - Dãy quy hồi |
Time limit: 1s
Cho một dãy số f, với f1 = f2 = … = fk-1 = 1, fn = m, fi = (fi-1b_1 * fi-2b_2 * … * fi-kb_k) mod p.
Cho hằng số p = 998244353, cho biết k, n, m, b1, b2, …, bk; tìm fk. Nếu có nhiều đáp án, đưa ra giá trị nhỏ nhất có thể thoả mãn.
Input
Dòng đầu tiên chứa một số nguyên T (1 ≤ T ≤ 10) chỉ số bộ test.
Mỗi bộ test gồm 3 dòng như sau:
- Dòng đầu tiên chứa duy nhất số nguyên k (1 ≤ k ≤ 100).
- Dòng thứ hai chứa k số nguyên b1, b2, …, bk (1 ≤ bi < p).
- Dòng thứ ba chứa hai số nguyên n và m (k < n ≤ 109, 1 ≤ m < p).
Output
In ra T dòng, dòng thứ i là kết quả của bộ test thứ i: là giá trị nhỏ nhất có thể cho fk, hoặc -1 nếu giá trị đó không tồn tại.
Example
Input
Output
5
3
2 3 5
4 16
5
4 7 1 5 6
7 14187219
1
2
88888 66666
10
283 463 213 777 346 201 463 283 102 999
2333333 6263423
6
48986624 827563453 504018534 902234240 514564267 887331674
683845320 369781897
4
6
-1
382480067
-1
Được gửi lên bởi: | adm |
Ngày: | 2019-08-17 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |