結果

問題 No.3394 Big Binom
コンテスト
ユーザー daiota
提出日時 2025-12-01 14:11:26
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 814 bytes
記録
コンパイル時間 1,992 ms
コンパイル使用メモリ 195,136 KB
実行使用メモリ 237,964 KB
最終ジャッジ日時 2025-12-01 14:11:39
合計ジャッジ時間 11,622 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other WA * 1 TLE * 1 -- * 19
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<ll,ll> P;
#define REP(i,n) for(ll i=0;i<ll(n);i++)





const ll MOD=998244353;
ll inv[10000010],fac[10000010],finv[10000010];

void fact(){
	fac[0]=fac[1]=1;
	finv[0]=finv[1]=1;
	inv[1]=1;
	for(ll i=2;i<10000005;i++){
		inv[i]=MOD-inv[MOD%i]*(MOD/i)%MOD;
		fac[i]=fac[i-1]* i%MOD;
		finv[i]=finv[i-1]*inv[i]%MOD;
	}
}

ll C(ll n,ll k){
	if(!(0<=k && k<=n)) return 0;
	return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD;
}






int main(void){
	cin.tie(nullptr);  ios_base::sync_with_stdio(false);
	ll i,j;




	fact();

	ll N,K;
	cin >> N >> K;



	if(N<=10000000){
		cout << C(N,K) << endl;
		return 0;
	}


	ll ans=N;
	for(i=1;i<K;i++){
		ans*=N-i;
		ans%=MOD;
	}

	ans*=finv[K];
	ans%=MOD;


	cout << ans << endl;







	return 0;

}
0