結果
| 問題 | No.3475 Many Hello Substrings |
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2026-04-21 02:57:59 |
| 言語 | Go (1.26.1) |
| 結果 |
AC
|
| 実行時間 | 17 ms / 2,000 ms |
| コード長 | 917 bytes |
| 記録 | |
| コンパイル時間 | 10,375 ms |
| コンパイル使用メモリ | 277,248 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-04-21 02:58:13 |
| 合計ジャッジ時間 | 11,236 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 7 |
ソースコード
package main
import . "fmt"
func main() {
var t int
Scan(&t)
for ; t>0; t-- {
var n,p,k int
Scan(&n,&p,&k)
if solve(n,p,k) {
Println("Yes")
} else {
Println("No")
}
}
}
func solve(n,p,k int) bool {
if k == 0 {
// helloを含めなければいい
return true
}
if n < 5 {
// helloを含められない
return false
}
if p == k {
// sにhelloがちょうど1個あればいい
return true
}
// パターンとして
// hellohello C個のhelloが含まれる K == P*C 個 N >= 5*C == 5*K/P
// llohe 連結部分にhelloが発生する K == P-1 個 N >= 5
// llohellohellohe 上記の複合 K == P*C+P-1 個 N >= 5*C+5 == 5*(K-P+1)/P+5
if k % p == 0 && k >= p && n >= 5*k/p {
return true
}
if k == p-1 {
return true
}
if k-p+1 >= p && (k-p+1)%p == 0 && n >= 5*(k-p+1)/p+5 {
return true
}
return false
}
ID 21712