結果

問題 No.3475 Many Hello Substrings
コンテスト
ユーザー ID 21712
提出日時 2026-04-21 02:57:21
言語 Go
(1.26.1)
コンパイル:
env GOCACHE=/tmp go build _filename_
実行:
./Main
結果
WA  
実行時間 -
コード長 918 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 16,566 ms
コンパイル使用メモリ 294,396 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-21 02:57:39
合計ジャッジ時間 14,656 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 5 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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 n < 5 {
		// helloを含められない
		return false
	}
	if k == 0 {
		// 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
}
0