結果
問題 |
No.2561 みんな大好きmod 998
|
ユーザー |
![]() |
提出日時 | 2024-11-12 22:11:22 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 547 ms / 4,000 ms |
コード長 | 552 bytes |
コンパイル時間 | 11,535 ms |
コンパイル使用メモリ | 235,836 KB |
実行使用メモリ | 106,472 KB |
最終ジャッジ日時 | 2024-11-12 22:11:42 |
合計ジャッジ時間 | 19,361 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 44 |
ソースコード
package main import . "fmt" const m1=998 const m2=998244353 type S struct { c int s1,s2 int64 } func (s *S)add(x int64) *S { return &S{ c:s.c+1, s1:(s.s1+x)%m1, s2:(s.s2+x)%m2, } } func (s *S)stop(k int)bool { return s.c==k } func (s *S)ok() bool { return s.s1>=s.s2 } func main() { var n,k int Scan(&n,&k) var ans int p:=[]*S{new(S)} for ;n>0;n-- { var a int64 Scan(&a) for _,e:=range p { t:=e.add(a) if t.stop(k) { if t.ok() { ans++ } } else { p=append(p,t) } } } ans%=m1 Println(ans) }