結果
問題 |
No.797 Noelちゃんとピラミッド
|
ユーザー |
![]() |
提出日時 | 2019-03-15 22:29:19 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 682 bytes |
コンパイル時間 | 1,545 ms |
コンパイル使用メモリ | 166,284 KB |
実行使用メモリ | 13,756 KB |
最終ジャッジ日時 | 2024-07-01 21:10:03 |
合計ジャッジ時間 | 5,291 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | TLE * 1 -- * 59 |
ソースコード
#include <bits/stdc++.h> using namespace std; long long mod=1e9+7; // vector<long long> long long fact(long long n){ long long x=1; while(n>1){ x=(x*n)%mod; n--; } return x; } long long expo(long long a, long long p){ if(p==0){ return 1; }else if(p%2==0){ long long cmp=expo(a,p/2); return (cmp*cmp)%mod; }else{ return (expo(a,p-1)*a)%mod; } } int main(){ long long n,ans=0,tmp,cmp; cin >> n; long long a[n]; for(int i=0;i<n;i++){ cin >> a[i]; cmp=fact(n-1)%mod; tmp=(fact(n-1-i)%mod*fact(i)%mod)%mod; cmp*=expo(tmp, mod-2)%mod; ans+=(cmp%mod)*a[i]%mod; ans%=mod; } cout << ans << endl; return 0; }