求调
查看原帖
求调
209808
银河AI楼主2021/4/13 23:23
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e6+15;
int n,p,k,x,y=1;
int a[N],fr[N],ba[N];
int ksm(int q,int n){
	if(n==0) return 1;
	if(n==1) return q;
	if(n%2==0){
		int s=ksm(q,n/2);
		return s*s%p;
	}
	int s=ksm(q,(n-1)/2);
	return s*s%p*q%p;
}
int ans;
signed main(){
	scanf("%lld%lld%lld",&n,&p,&k);
	for(int i=1,t=k%p;i<=n;i++,t*=k%p) scanf("%lld",&a[i]),a[i]%=p,x=(x*a[i]+y*t)%p,y=y*a[i]%p;
	x*=ksm(y,p-2)%p;
	x%=p;
	printf("%lld",x); 
}
2021/4/13 23:23
加载中...