結果
問題 | No.604 誕生日のお小遣い |
ユーザー |
![]() |
提出日時 | 2018-08-18 06:10:22 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 458 bytes |
コンパイル時間 | 16,039 ms |
コンパイル使用メモリ | 222,680 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-21 19:25:12 |
合計ジャッジ時間 | 15,774 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
package main import "fmt" var A, B, C int64 func isSatisfied(years int64) bool { aYearNum := years / A if aYearNum == 0 || C - (years - aYearNum) + aYearNum - 1 <= 0 { return years >= C } return B >= (C - (years - aYearNum) + aYearNum - 1) / aYearNum } func main() { fmt.Scan(&A, &B, &C) var lb, ub int64 = 0, C + 1 for ub - lb > 1 { mid := (ub + lb) / 2 if isSatisfied(mid) { ub = mid } else { lb = mid } } fmt.Println(ub) }