結果
| 問題 |
No.2561 みんな大好きmod 998
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 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)
}
ID 21712