結果

問題 No.3500 01 String
コンテスト
ユーザー tikisan_
提出日時 2026-04-17 22:20:32
言語 Go
(1.26.1)
コンパイル:
env GOCACHE=/tmp go build _filename_
実行:
./Main
結果
AC  
実行時間 22 ms / 2,000 ms
コード長 452 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 16,815 ms
コンパイル使用メモリ 277,460 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-17 22:21:08
合計ジャッジ時間 24,432 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	const mod = 998244353
	in := bufio.NewReader(os.Stdin)
	var n int
	var s string
	fmt.Fscan(in, &n, &s)
	ans := 1
	i := 0
	for i < n {
		j := i
		for j < n && s[j] == s[i] {
			j++
		}
		if s[i] == '0' && j < n && s[j] == '1' {
			a := j - i
			k := j
			for k < n && s[k] == '1' {
				k++
			}
			b := k - j
			ans = int(int64(ans) * int64(a+b+1) % mod)
		}
		i = j
	}
	fmt.Println(ans)
}
0