結果
問題 |
No.2636 No Waiting in Vain
|
ユーザー |
|
提出日時 | 2025-07-19 10:31:23 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 67 ms / 2,000 ms |
コード長 | 490 bytes |
コンパイル時間 | 455 ms |
コンパイル使用メモリ | 82,372 KB |
実行使用メモリ | 77,248 KB |
最終ジャッジ日時 | 2025-07-19 10:31:28 |
合計ジャッジ時間 | 4,971 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 44 |
ソースコード
N,K = map(int,input().split()) S = input().strip() MOD = 998244353 A = [1]*(N+1) for i in range(2,N+1): A[i] = (A[i-1]*i) % MOD B = [1]*(N+1) B[N] = pow(A[N], MOD-2, MOD) for i in range(N-1,1,-1): B[i] = (B[i+1]*(i+1)) % MOD def comb(n,k): if n<k or k<0:return 0 return (A[n]*B[k]*B[n-k]) % MOD n = S.count("N") nc = 0 for i in range(N-1): if S[i]=="C" and S[i+1]=="N": nc += 1 ans = 0 for i in range(1,n-max(K,nc)+1): ans = (ans+comb(n-nc,i))%MOD print(ans)