思路:二分答案
常识
一般最小化最大,最大化最小的问题,都是二分答案来解决。
正确性
每辆卡车装载的货箱数量越多,则能按此标准装载的卡车数量就越少。
题目内容
某物流公司需要将两种规格的货箱分配给 m 辆卡车。已知有 a 个标准箱和 b 个加长箱,每辆卡车只能装载同一种规格的货箱,且装车时允许有货箱剩余。为了尽量均衡各车的运输负担,公司希望最大化所有卡车中装载货箱数量最少的那一辆的装载量。请计算这个最大的最小装载量。
数据范围:测试数据组数不超过 100;每种箱子的数量在 1 到 10000 之间;卡车数量 m 满足 2≤m≤a+b。
输入描述
第一行包含一个整数 T,表示测试数据组数。接下来 T 行,每行包含三个整数 m、a、b,分别表示卡车数量、标准箱数量和加长箱数量,中间用空格隔开。其中 a 和 b 在 1 到 10000 之间,m 在 2 到 a+b 之间。
输出描述
对于每组测试数据,输出一行一个整数,表示在最优分配下,装载量最少的卡车最多能装载的货箱数量。
样例1
输入
1
3 5 5
输出
2
说明
设最小装载量为 x。标准箱 5 个,加长箱 5 个,卡车总数 3。
当 x=2 时,标准箱可提供 ⌊5/2⌋=2 辆卡车,加长箱也可提供 2 辆,共 4 辆,满足 3 辆卡车的需求。
当 x=3 时,标准箱可提供 ⌊5/3⌋=1 辆,加长箱可提供 1 辆,共 2 辆,不足 3 辆。
因此最大最小装载量为 2。
样例2
输入
1
5 10 2
输出
2
说明
设最小装载量为 x。标准箱 10 个,加长箱 2 个,卡车总数 5。
若 x=2,标准箱可提供 ⌊10/2⌋=5 辆卡车,加长箱可提供 ⌊2/2⌋=1 辆,共 6 辆,足以派出 5 辆,例如 4 辆标准箱车各装 2 个,1 辆加长箱车装 2 个。
若 x=3,标准箱可提供 ⌊10/3⌋=3 辆,加长箱可提供 ⌊2/3⌋=0 辆,共 3 辆,不足 5 辆。
因此最大最小装载量为 2。
样例3
输入
1
2 1 10000
输出
5000
说明
设最小装载量为 x。标准箱仅 1 个,加长箱 10000 个,卡车总数 2。
若 x=5000,加长箱可提供 ⌊10000/5000⌋=2 辆卡车,标准箱提供 ⌊1/5000⌋=0 辆,正好满足 2 辆卡车。
若 x=5001,加长箱可提供 ⌊10000/5001⌋=1 辆,标准箱仍为 0 辆,不足 2 辆。
因此最大最小装载量为 5000。