1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
using namespace std; typedef long long ll; const int maxn=1010; const int mod=1e9+7; ll a[maxn]; ll (ll a, ll p, ll mod) { a%=mod; ll base=1; while(p) { if(p&1) base=base*a%mod; a=a*a%mod; p>>=1; } return base; } int main(){ int n; while(~scanf("%d",&n)){ for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); } ll ans=0; for(int i=1;i<=n;i++){ ll temp=1; for(int j=1;j<=n;j++){ if(i!=j) temp=temp*((a[j]*a[j]%mod-a[i]*a[i]%mod)%mod+mod)%mod; } temp=quickMod(temp,mod-2,mod); temp=temp*quickMod(2*a[i],mod-2,mod)%mod; ans=(ans+temp)%mod; } printf("%lldn",ans); } }
|
近期评论