#P1855. Mint

    ID: 856 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>其他数学难度入门Waterloo local 2004.09.19

Mint

题目描述

加拿大皇家铸币厂设计了一系列新的咖啡桌,其桌腿由不同硬币堆叠而成。每张桌子有四条腿,每条腿使用不同种类的硬币。例如,一条腿可能是由2525分硬币堆叠而成,另一条腿由55分硬币堆叠,第三条腿由11加元硬币(loonieloonie)堆叠,第四条腿由2加元硬币(twonietwonie)堆叠。所有桌腿必须严格等长

可用的硬币种类繁多,包括外国硬币和纪念币。给定现有的硬币种类及每种硬币的厚度(单位:0.010.01毫米),以及目标桌子的高度(单位:0.010.01毫米),计算最接近目标高度的两种可能桌腿长度:
11. 最大可能长度(不超过目标高度)。
22. 最小可能长度(不低于目标高度)。

输入格式

- 每个测试用例以两个整数开头:
- nn4n504 \leq n \leq 50):可用的硬币种类数。
- tt1t101 \leq t \leq 10):需要设计的桌子数量。
- 接下来的nn行,每行给出一种硬币的厚度(单位:0.01毫米)。
- 接下来的tt行,每行给出一个桌子的目标高度(单位:0.01毫米)。
- 输入以 00 00 结束。

输出格式

对于每个目标高度,输出一行两个整数:
11. 不超过目标高度的最大可能桌腿长度
22. 不低于目标高度的最小可能桌腿长度

样例输入 1

4 2
50
100
200
400
1000
2000
0 0

样例输出 1

800 1200
2000 2000

样例解释

11. 目标高度1000
- 最大可能长度800(例如:4×200、4×200、4×200、4×200)。
- 最小可能长度1200(例如:3×400、3×400、3×400、3×400)。
22. 目标高度2000
- 恰好可用400×5堆叠,因此输出 2000 2000

关键思路

11. 组合计算:从nn种硬币中选取4种不同硬币,计算它们的最小公倍数(LCM),以确定可能的桌腿长度。
22. 查找最接近值:对每个目标高度,在所有可能的LCM组合中,找到不超过不低于该高度的最接近值。
33. 优化处理:由于硬币种类有限(n50n \leq 50),可采用暴力枚举所有4种硬币的组合。

来源

Waterloo local 2004.09.192004.09.19