倒水问题[2]
时间限制:1秒 内存限制:256M
【题目描述】
设有 3 个杯子的容量分别为 A,B,C,最初只有第 3 个杯子装满了 C 升水,其他两个杯子为空。在不使用其他道具的情况下,最少需要倒多少升水才能让某一个杯子中有 \(D\) 升水呢?如果无法作到恰好 \(D\) 升,就让某一个杯子里的水是 \(X\) 升,其中 \(X < D\) 并且尽量接近 \(D\)。注意,一个杯子向另一个杯子倒水时,要么倒空,要么把另一个杯子倒满。
要求输出最少的倒水量和目标水量(\(D\) 或 \(X\))。
【输入格式】
第 1行为整数 \(T\),表示数据组数。每组数据占一行,包含 4 个整数:\(A,B,C,D\),意义如题目描述。
【输出格式】
每组数据输出一行,包含 2 个整数,分别为最少的倒水量和目标水量。
【输入输出样例】
Input
2
2 3 4 2
96 97 199 62
Output
2 2
9859 62
【数据限制】
对于 \(100\%\) 的数据,\(1≤T≤100\),\(1≤A,B,C,D≤200\)。
【来源】
Mr.he