結果
問題 | No.797 Noelちゃんとピラミッド |
ユーザー | 37zigen |
提出日時 | 2019-03-15 22:33:34 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 167 ms / 2,000 ms |
コード長 | 736 bytes |
コンパイル時間 | 1,347 ms |
コンパイル使用メモリ | 158,528 KB |
実行使用メモリ | 7,392 KB |
最終ジャッジ日時 | 2024-07-01 21:11:40 |
合計ジャッジ時間 | 12,124 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 60 |
ソースコード
#include <bits/stdc++.h> long long a[100000]; long long mod=1e9+7; long long fac[200000]; long long ifac[200000]; long long pow(long long a,long long n){ long long ret=1; for(;n>0;n>>=1,a=a*a%mod){ if(n%2==1){ ret=ret*a%mod; } } return ret; } long long inv(long long a){ return pow(a,mod-2); } long long comb(int n,int k){ return fac[n]*ifac[k]%mod*ifac[n-k]%mod; } int main(){ fac[0]=ifac[0]=1; for(int i=1;i<200000;++i){ fac[i]=fac[i-1]*i%mod; } for(int i=1;i<200000;++i){ ifac[i]=inv(fac[i]); } int n; std::cin>>n; long long sum=0; for(int i=0;i<n;++i){ std::cin>>a[i]; sum=(sum+comb(n-1,i)*a[i]%mod)%mod; } std::cout<<sum<<std::endl; return 0; }