結果

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

ソースコード

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 true
	}
	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 && n >= 5*k/p {
		return true
	}
	
	if k == p-1 {
		return true
	}
	
	if k-p+1>= 0 && n >= 5*(k-p+1)/p+5 {
		return true
	}
	
	return false
}
0