結果
問題 | No.797 Noelちゃんとピラミッド |
ユーザー |
![]() |
提出日時 | 2019-03-15 21:23:58 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 32 ms / 2,000 ms |
コード長 | 595 bytes |
コンパイル時間 | 148 ms |
コンパイル使用メモリ | 31,360 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-01 20:15:02 |
合計ジャッジ時間 | 3,035 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 60 |
ソースコード
#include<stdio.h> #include<stdlib.h> #include<math.h> typedef long long int int64; #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b)) #define ABS(a) ((a)>(0)?(a):-(a)) const int mod=1000000007; int inv(int a){ int t=1; while(a>1){ t=(int64)t*(mod-mod/a)%mod; a=mod%a; } return t; } void run(void){ int n; scanf("%d",&n); int ans=0; int comb=1; for(int i=0;i<n;i++){ int a; scanf("%d",&a); ans=(ans+(int64)comb*a)%mod; comb=(int64)comb*(n-1-i)%mod*inv(i+1)%mod; } printf("%d\n",ans); } int main(void){ run(); return 0; }