Submit solution
Points:
1200 (partial)
Time limit:
1.0s
Memory limit:
64M
Input:
stdin
Output:
stdout
Problem type
Allowed languages
C, C++, Pascal, pypy3, Python, scratch
Hay là làm tí toán nhỉ ?
Cho dãy A gồm a_1,a_2,...,a_n. Kí hiệu S(k) là tổng của tích các dãy con (có thể không liên tiếp) độ dài k\ (1\le k\le n).
Với một số nguyên x, các bạn hãy tính M = x^n + x^{n-1}.S(1) +\dots\ + x^0.S(n)
Input
- Dòng đầu tiên gồm 2 số nguyên dương n,x(1\le n\le 10^7,1\le x\le 10^{18}).
- Dòng tiếp theo gồm n số nguyên dương a_1,a_2,...,a_n. (1\leq a_i\leq 10^{12})
Output
- In ra 1 dòng là kết quả của bài toán, do kết quả rất lớn nên hãy in ra sau khi chia lấy dư cho 10^9+7
Subtasks
- Subtask 1: Đảm bảo n\leq 10. (5 điểm)
- Subtask 2: Không có ràng buộc gì thêm. (95 điểm)
Example
Test 1
Sample input
4 1
1 2 3 4
Sample output
120
Note
M = 1 + 1.(1 + 2 + 3 + 4) + 1.(1.2 + 1.3 + 1.4 + 2.3 + 2.4 + 3.4) + 1.(1.2.3 + 2.3.4 + 1.3.4 + 1.2.4) + 1.(1.2.3.4) = 120
Comments