結果
| 問題 |
No.825 賢いお買い物
|
| コンテスト | |
| ユーザー |
kat0rik
|
| 提出日時 | 2020-02-03 22:16:42 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 655 bytes |
| コンパイル時間 | 14,705 ms |
| コンパイル使用メモリ | 229,008 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-09-19 07:30:36 |
| 合計ジャッジ時間 | 12,957 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 WA * 1 |
ソースコード
package main
import "fmt"
var inf = int(1e9) + 1
func main() {
var A, B, C int
fmt.Scan(&A, &B, &C)
if C <= A+B {
ans := inf
for c := 1; c <= A+10*B; c++ {
for x := 0; x <= A; x++ {
for y := 0; y <= B; y++ {
// c円の品物を1G x枚、10G y枚で支払ったときのお釣りを含めた残枚数がCとなるときを追跡する
pay := x + 10*y
change := (pay-c)/10 + (pay-c)%10
if pay >= c && (A-x)+(B-y)+change == C {
ans = min(ans, c)
}
}
}
}
if ans != inf {
fmt.Println(ans)
return
}
}
fmt.Println("Impossible")
}
func min(a, b int) int {
if a < b {
return a
}
return b
}
kat0rik