結果

問題 No.3070 Collecting Coins Speedrun 2
ユーザー ID 21712
提出日時 2025-03-22 00:36:33
言語 Go
(1.23.4)
結果
AC  
実行時間 982 ms / 2,000 ms
コード長 405 bytes
コンパイル時間 14,272 ms
コンパイル使用メモリ 242,304 KB
実行使用メモリ 6,144 KB
最終ジャッジ日時 2025-03-22 00:36:59
合計ジャッジ時間 24,644 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"

func main() {
	var n int
	Scan(&n)
	const M=998244353
	z:=0
	x,y,c,d:=1,0,1,0
	for ;n>0;n-- {
		var a int
		Scan(&a)
		if a<0 {
			if y>0 {
			x=(x*2)%M
			}
			y++
		} else if a>0 {
			if d> 0 {
			c=(c*2)%M
			}
			d++
		} else {
			z=1
		}
	}
	if y>0&&d>0 {
		if z>0 {
			x=(x*3)%M
		}
	Println(x*c%M*2%M)
	} else {
		if z>0&&y+d>0 {
			x=(x*2)%M
		}
		Println(x*c%M)
	}
}
0