首页 > 试题广场 >

矿泉水问题

[编程题]矿泉水问题
  • 热度指数:2017 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

小明横穿沙漠,需要携带至少x毫升的水。

有两种规格的矿泉水可供选购:小瓶矿泉水每瓶500ml,价格a元。大瓶矿泉水每瓶1500ml,价格b元。

小明打算买一些矿泉水用于横穿沙漠,为了保证至少买到x毫升的水,小明至少需要花费多少钱?


输入描述:
第一行一个正整数t(t<=1000),表示有t组测试数据;

接下来t行,每行3个正整数:x,a,b。其中x<=1,000,000,000,表示小明至少需要x毫升水;a<=100,b<=100,分别表示小瓶和大瓶矿泉水的价格,单位:元。


输出描述:
每组测试数据输出一行,表示小明最少需要花费的钱,单位:元。
示例1

输入

3
5000 5 10
4999 5 10
5000 5 100

输出

35
35
50
for _ in range(int(input())):
    x, a, b = map(int, input().split())
    p, x = divmod(x, 1500)
    print(p * min(b, a * 3) + min((x != 0) * b, (x + 499) // 500 * a))

发表于 2020-06-14 15:10:09 回复(0)