P5431TLE,30分,请问还能咋优化??
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll p,a[5000010];
inline ll ksm(ll a,ll b) {
ll ans = 1;
while (b) {
if (b & 1) ans = ans * a % p;
a = a * a % p;
b >>= 1;
}
return ans;
}
int main(){
int n,k;
scanf("%d %lld %d",&n,&p,&k);
for (int i = 1;i <= n;i ++) {
scanf("%lld",&a[i]);
}
ll ans = 0;
for (int i = 1;i <= n;i ++) {
ans += ksm(k,i) * ksm(a[i],p - 2) % p;
ans %= p;
}
cout << ans % p << endl;
return 0;
}