玄学CE
查看原帖
玄学CE
252549
Iwara楼主2023/9/2 14:22

RT

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MAXN=5e6+5;
ll n,p,k,ans;
ll a[MAXN];
ll pre[MAXN]={1},suf[MAXN],inv_n;
ll inv(ll num){
	if(num==1)return 1;
	return (p-p/num)*inv(p%num)%p;
}
int main(){
	cin>>n>>p>>k;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)pre[i]=pre[i-1]*a[i]%p;
	inv_n=inv(pre[n]);
	suf[n+1]=1;
	for(int i=n;i>=1;i--)suf[i]=suf[i+1]*a[i]%p;
	for(ll i=1,now=k;i<=n;i++){
		ans+=(now*inv_n%p*pre[i-1]%p*suf[i+1]%p);
		ans%=p;
		now=now*k%p;
	}
	cout<<ans;
	return 0;
}

Nothing is compiled: OUTPUT exceeds.

2023/9/2 14:22
加载中...