結果
問題 |
No.554 recurrence formula
|
ユーザー |
|
提出日時 | 2018-06-29 21:13:34 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 561 bytes |
コンパイル時間 | 1,811 ms |
コンパイル使用メモリ | 167,936 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 23:54:06 |
合計ジャッジ時間 | 2,216 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define fastcin {\ cin.tie(0);\ ios::sync_with_stdio(false);\ } #define rep(i, a, b) for(int i = a; i < b; i++) typedef long long ll; const ll MOD = 1000000007; typedef vector<ll> vll; ll make_a(ll n) { ll sum[2] = {2, 6}; ll tmp[2] = {0, 1}; rep(i, 4, n+1) { tmp[i&1] += sum[i&1]; sum[i&1] = i*(sum[1-i&1]+tmp[1-i&1])%MOD; } if(n==1) sum[n&1] = 1; return sum[n&1]; } int main() { fastcin; int n; cin >> n; cout << make_a(n) << endl; return 0; }