結果

問題 No.797 Noelちゃんとピラミッド
ユーザー 37zigen37zigen
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}


0