結果
| 問題 |
No.523 LED
|
| コンテスト | |
| ユーザー |
tsutaj
|
| 提出日時 | 2017-06-03 01:28:15 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 85 ms / 2,000 ms |
| コード長 | 2,152 bytes |
| コンパイル時間 | 950 ms |
| コンパイル使用メモリ | 100,984 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-09-22 03:57:09 |
| 合計ジャッジ時間 | 2,185 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 25 |
ソースコード
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <string>
#include <cstring>
#include <deque>
#include <list>
#include <queue>
#include <stack>
#include <vector>
#include <utility>
#include <algorithm>
#include <map>
#include <set>
#include <complex>
#include <cmath>
#include <limits>
#include <cfloat>
#include <climits>
#include <ctime>
#include <cassert>
#include <numeric>
#include <functional>
using namespace std;
#define rep(i,a,n) for(int (i)=(a); (i)<(n); (i)++)
#define repq(i,a,n) for(int (i)=(a); (i)<=(n); (i)++)
#define repr(i,a,n) for(int (i)=(a); (i)>=(n); (i)--)
#define int long long int
template<typename T> void chmax(T &a, T b) {a = max(a, b);}
template<typename T> void chmin(T &a, T b) {a = min(a, b);}
template<typename T> void chadd(T &a, T b) {a = a + b;}
typedef pair<int, int> pii;
typedef long long ll;
int dx[] = {0, 0, 1, -1};
int dy[] = {1, -1, 0, 0};
constexpr ll INF = 1001001001001001LL;
constexpr ll MOD = 1000000007LL;
// ModInt begin
ll mod_pow(ll x, ll n) {return (!n)?1:(mod_pow((x*x)%MOD,n/2)*((n&1)?x:1))%MOD;}
struct ModInt {
ll v;
ModInt(ll a = 0) : v(((a%MOD) + MOD) % MOD) {}
ModInt operator+ ( const ModInt& b ) const {return (v + b.v) % MOD;}
ModInt operator- ( const ModInt& b ) const {return (v - b.v + MOD) % MOD;}
ModInt operator* ( const ModInt& b ) const {return (v * b.v) % MOD;}
ModInt operator/ ( const ModInt& b ) const {return (v * mod_pow(b.v, MOD-2)) % MOD;}
};
bool operator==(ModInt a, ModInt b) {return a.v == b.v;}
ModInt& operator+=(ModInt& a, ModInt b) {return a = a + b;}
ModInt& operator-=(ModInt& a, ModInt b) {return a = a - b;}
ModInt& operator*=(ModInt& a, ModInt b) {return a = a * b;}
ModInt& operator/=(ModInt& a, ModInt b) {return a = a / b;}
ostream& operator<<(ostream& out, ModInt a) {return out << a.v;}
istream& operator>>(istream& in, ModInt& a) {
ll v; in >> v;
a = ModInt(v);
return in;
}
// ModInt end
int N;
signed main() {
cin >> N;
ModInt ans(1);
int cur = 1;
rep(i,0,N) {
ans *= (cur * (cur+1)) / 2;
cur += 2;
}
cout << ans << endl;
return 0;
}
tsutaj