結果
問題 | No.2219 Re:010 |
ユーザー |
![]() |
提出日時 | 2023-02-17 21:33:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 97 ms / 2,000 ms |
コード長 | 372 bytes |
コンパイル時間 | 156 ms |
コンパイル使用メモリ | 81,664 KB |
実行使用メモリ | 76,160 KB |
最終ジャッジ日時 | 2024-07-19 12:37:39 |
合計ジャッジ時間 | 2,651 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
mod=998244353 s=input() n=len(s) dp=[0,0] ans=0 inv2=pow(2,mod-2,mod) cnt=0 for i in s: ndp=[0,0] if i=='0': ans+=dp[1] ndp[0]=dp[0]+1 ndp[1]=dp[1] if i=='1': ndp[0]=dp[0] ndp[1]=dp[0]+dp[1] if i=='?': cnt+=1 ans+=dp[1]*inv2 ndp[1]=dp[1]+dp[0]*inv2 ndp[0]=dp[0]+inv2 dp=[i%mod for i in ndp] print(ans*pow(2,cnt,mod)%mod)