結果
問題 | No.2541 Divide 01 String |
ユーザー |
![]() |
提出日時 | 2023-11-24 21:32:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 89 ms / 2,000 ms |
コード長 | 305 bytes |
コンパイル時間 | 259 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 89,472 KB |
最終ジャッジ日時 | 2024-09-26 08:55:17 |
合計ジャッジ時間 | 2,433 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
M=998244353 n=int(input()) s=list(map(int,input()+"0")) for i in range(n): s[i]+=s[i-1] q=[0]*(n+1) q[0]=1 q[1]=-1 l=0 for i in range(n+1): q[i]+=q[i-1] q[i]%=M l=max(l,i) while l+1<=n and s[l+1-1]-s[i-1]==0: l+=1 if l+1<=n and s[l+1-1]-s[i-1]>0: q[l+1]+=q[i] q[l+1]%=M print(q[n])