过了样例,全WA。虽然该题讨论区里已有不少关于全WA的帖子,但貌似还没有真正的解决全WA的问题。想问一下有dalao解决了这个问题吗?
下面是我的代码
#include <bits/stdc++.h>
using namespace std;
int s[5000005], s_1[5000005], a[5000005];
int n, p, k, ans;
void exgcd(int a, int b, int &x, int &y)
{
if(!b) x = 1, y = 0;
else exgcd(b, a % b, y, x), y -= x * (a / b);
}
int main()
{
cin >> n >> p >> k;
s_1[n + 1] = s[0] = 1;
for (int i = 1; i <= n; i ++)
scanf("%d", &a[i]), s[i] = (s[i - 1] * a[i]) % p;
int x = 0, y = 0;
exgcd(s[n], p, s_1[n + 1], y);
for (int i = n; i >= 1; i --)
s_1[i] = (s_1[i + 1] * a[i]) % p;
long long base = k;
for (int i = 1; i <= n; i ++)
ans = ( ans + ( ( (long long)s_1[i + 1] * s[i - 1]) % p) * base) % p,
base = (base * k )% p;
cout << ans <<endl;
return 0;
}
参照题解手写的
提交记录:https://www.luogu.com.cn/record/50992114