結果
問題 |
No.573 a^2[i] = a[i]
|
ユーザー |
![]() |
提出日時 | 2017-10-10 21:17:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 846 bytes |
コンパイル時間 | 1,490 ms |
コンパイル使用メモリ | 160,220 KB |
実行使用メモリ | 121,088 KB |
最終ジャッジ日時 | 2024-11-17 08:33:27 |
合計ジャッジ時間 | 11,362 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 45 TLE * 2 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define REP(i,a,n) for(ll i=(a); i<(ll)(n); i++) ll MOD = 1e9 + 7; ll pow_mod(ll x, ll n) { ll re = 1; while(n > 0) { if (n & 1) re = (re * x) % MOD; x = (x * x) % MOD; n >>= 1; } return re; } //vector< vector <ll> > cm(100001, vector<ll>(100001, 0)); ll cm[10000][10000]; ll comb(ll n, ll r) { cm[n][r] = ( cm[n-1][r-1] ? cm[n-1][r-1] : comb(n-1, r-1) ) + ( cm[n-1][r] ? cm[n-1][r] : comb(n-1, r) ); return cm[n][r] % MOD; } int main(void) { ll N; cin >> N; ll ans = 0; REP(i, 0, N+1) { cm[i][0] = 1; cm[i][i] = 1; } REP(x, 1, N) { //cout << comb(N, x) << endl; ans = (ans + ( comb(N, x) * pow_mod(x, N - x)) ) % MOD; } cout << ++ans << endl; return 0; }