algorithms-go/luogu/基础题/P1909买铅笔/main.go
2021-04-07 14:18:02 +08:00

68 lines
1.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @Description:
* @Version: 2.0
* @Autor: zhuyijun
* @Date: 2021-04-06 18:01:03
* @LastEditors: zhuyijun
* @LastEditTime: 2021-04-06 18:36:17
*/
package main
import (
"fmt"
"math"
)
/**
题目描述
P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 33种包装的铅笔不同包装内的铅笔数量有可能不同价格也有可能不同。为了公平起 见P老师决定只买同一种包装的铅笔。
商店不允许将铅笔的包装拆开因此P老师可能需要购买超过nn支铅笔才够给小朋 友们发礼物。
现在P老师想知道在商店每种包装的数量都足够的情况下要买够至少nn支铅笔最少需要花费多少钱。
输入格式
第一行包含一个正整数nn表示需要的铅笔数量。
接下来三行每行用22个正整数描述一种包装的铅笔其中第11个整数表示这种 包装内铅笔的数量第22个整数表示这种包装的价格。
保证所有的77个数都是不超过1000010000的正整数。
输出格式
11个整数表示P老师最少需要花费的钱。
输出 #1
54
输入 #2
9998
128 233
128 2333
128 666
输出 #2
18407
输入 #3
9999
101 1111
1 9999
1111 9999
输出 #3
89991
*/
func main() {
var (
n int
a int
b int
ans float64 = 2100000000
)
fmt.Scanf("%d", &n)
for i := 0; i < 3; i++ {
fmt.Scanf("%d%d",&a,&b)
x := math.Ceil(float64(n)/float64(a) * float64(b))
ans = math.Min(x,ans)
}
fmt.Printf("%d \n",int(ans))
}