結果

問題 No.3048 Order and Harmony
ユーザー leaf_1415leaf_1415
提出日時 2019-04-01 22:46:04
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 107 ms / 2,000 ms
コード長 1,861 bytes
コンパイル時間 399 ms
コンパイル使用メモリ 52,456 KB
実行使用メモリ 4,504 KB
最終ジャッジ日時 2023-08-18 01:54:00
合計ジャッジ時間 4,092 ms
ジャッジサーバーID
(参考情報)
judge13 / judge11
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
4,376 KB
testcase_01 AC 2 ms
4,380 KB
testcase_02 AC 3 ms
4,380 KB
testcase_03 AC 64 ms
4,380 KB
testcase_04 AC 2 ms
4,380 KB
testcase_05 AC 1 ms
4,500 KB
testcase_06 AC 2 ms
4,376 KB
testcase_07 AC 1 ms
4,384 KB
testcase_08 AC 2 ms
4,380 KB
testcase_09 AC 1 ms
4,376 KB
testcase_10 AC 2 ms
4,384 KB
testcase_11 AC 2 ms
4,380 KB
testcase_12 AC 1 ms
4,504 KB
testcase_13 AC 1 ms
4,380 KB
testcase_14 AC 1 ms
4,376 KB
testcase_15 AC 2 ms
4,380 KB
testcase_16 AC 2 ms
4,380 KB
testcase_17 AC 2 ms
4,376 KB
testcase_18 AC 1 ms
4,384 KB
testcase_19 AC 2 ms
4,376 KB
testcase_20 AC 2 ms
4,500 KB
testcase_21 AC 2 ms
4,376 KB
testcase_22 AC 2 ms
4,376 KB
testcase_23 AC 2 ms
4,380 KB
testcase_24 AC 2 ms
4,380 KB
testcase_25 AC 68 ms
4,504 KB
testcase_26 AC 86 ms
4,380 KB
testcase_27 AC 80 ms
4,380 KB
testcase_28 AC 6 ms
4,376 KB
testcase_29 AC 1 ms
4,376 KB
testcase_30 AC 4 ms
4,376 KB
testcase_31 AC 2 ms
4,376 KB
testcase_32 AC 64 ms
4,380 KB
testcase_33 AC 1 ms
4,380 KB
testcase_34 AC 18 ms
4,380 KB
testcase_35 AC 1 ms
4,380 KB
testcase_36 AC 16 ms
4,380 KB
testcase_37 AC 87 ms
4,380 KB
testcase_38 AC 15 ms
4,376 KB
testcase_39 AC 71 ms
4,380 KB
testcase_40 AC 57 ms
4,376 KB
testcase_41 AC 75 ms
4,380 KB
testcase_42 AC 73 ms
4,376 KB
testcase_43 AC 1 ms
4,376 KB
testcase_44 AC 71 ms
4,384 KB
testcase_45 AC 18 ms
4,380 KB
testcase_46 AC 49 ms
4,380 KB
testcase_47 AC 45 ms
4,380 KB
testcase_48 AC 27 ms
4,380 KB
testcase_49 AC 1 ms
4,380 KB
testcase_50 AC 36 ms
4,380 KB
testcase_51 AC 1 ms
4,376 KB
testcase_52 AC 1 ms
4,500 KB
testcase_53 AC 96 ms
4,380 KB
testcase_54 AC 2 ms
4,376 KB
testcase_55 AC 2 ms
4,380 KB
testcase_56 AC 84 ms
4,376 KB
testcase_57 AC 1 ms
4,376 KB
testcase_58 AC 1 ms
4,380 KB
testcase_59 AC 2 ms
4,380 KB
testcase_60 AC 12 ms
4,380 KB
testcase_61 AC 66 ms
4,376 KB
testcase_62 AC 23 ms
4,380 KB
testcase_63 AC 1 ms
4,380 KB
testcase_64 AC 107 ms
4,380 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#define llint long long
#define mod 1000000007

using namespace std;

llint k;
llint f[] = {
	1,
	682498929,
	491101308,
	76479948,
	723816384,
	67347853,
	27368307,
	625544428,
	199888908,
	888050723,
	927880474,
	281863274,
	661224977,
	623534362,
	970055531,
	261384175,
	195888993,
	66404266,
	547665832,
	109838563,
	933245637,
	724691727,
	368925948,
	268838846,
	136026497,
	112390913,
	135498044,
	217544623,
	419363534,
	500780548,
	668123525,
	128487469,
	30977140,
	522049725,
	309058615,
	386027524,
	189239124,
	148528617,
	940567523,
	917084264,
	429277690,
	996164327,
	358655417,
	568392357,
	780072518,
	462639908,
	275105629,
	909210595,
	99199382,
	703397904,
	733333339,
	97830135,
	608823837,
	256141983,
	141827977,
	696628828,
	637939935,
	811575797,
	848924691,
	131772368,
	724464507,
	272814771,
	326159309,
	456152084,
	903466878,
	92255682,
	769795511,
	373745190,
	606241871,
	825871994,
	957939114,
	435887178,
	852304035,
	663307737,
	375297772,
	217598709,
	624148346,
	671734977,
	624500515,
	748510389,
	203191898,
	423951674,
	629786193,
	672850561,
	814362881,
	823845496,
	116667533,
	256473217,
	627655552,
	245795606,
	586445753,
	172114298,
	193781724,
	778983779,
	83868974,
	315103615,
	965785236,
	492741665,
	377329025,
	847549272,
	698611116
};

llint modpow(llint a, llint n)
{
	if(n == 0) return 1;
	if(n % 2){
		return ((a%mod) * (modpow(a, n-1)%mod)) % mod;
	}
	else{
		return modpow((a*a)%mod, n/2) % mod;
	}
}

llint fact(llint n)
{
	llint ret = f[n / 10000000];
	llint rem = n % 10000000;
	for(int i = n/10000000*10000000+1; i <= n; i++){
		ret *= i, ret %= mod;
	}
	return ret;
}

int main(void)
{
	cin >> k;
	
	if(k % 2){
		cout << 0 << endl;
		return 0;
	}
	
	llint ans = fact(k), tmp = modpow(fact(k/2), mod-2);
	ans *= tmp * tmp % mod, ans %= mod;
	cout << ans << endl;
	
	return 0;
}
0