結果
| 問題 | 
                            No.2636 No Waiting in Vain
                             | 
                    
| ユーザー | 
                             | 
                    
| 提出日時 | 2024-02-18 14:03:38 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 923 ms / 2,000 ms | 
| コード長 | 529 bytes | 
| コンパイル時間 | 151 ms | 
| コンパイル使用メモリ | 82,324 KB | 
| 実行使用メモリ | 228,172 KB | 
| 最終ジャッジ日時 | 2024-09-29 00:25:34 | 
| 合計ジャッジ時間 | 41,560 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 44 | 
ソースコード
fact=[]
rev=[]
def comb_init(N=1000000,MOD=998244353):
    global fact,rev
    fact=[1]
    rev=[1]
    for i in range(N):
        fact.append((fact[-1]*(i+1))%MOD)
        rev.append((rev[-1]*pow(i+1,MOD-2,MOD))%MOD)
def comb(n,r,MOD=998244353):
    if n<r:
        return 0
    return (fact[n]*rev[r]*rev[n-r])%MOD
comb_init()
N,K=map(int,input().split())
S="P"+input()
cnt=0
for i in range(N):
	if S[i+1]=="N":
		if S[i]!="C":
			cnt+=1
		else:
			K-=1
ans=0
for i in range(1,cnt-K+1):
	ans+=comb(cnt,i)
print(ans%998244353)