#CF2119A. 加法还是异或
加法还是异或
A. 加法还是异或
每个测试的时间限制:1 秒
内存限制:256 兆字节
给你两个非负整数 。你可以对 进行任意多次操作,操作顺序任意,每次操作可以从以下两种中选择一种:
- ,该操作的成本为 ;
- ( 表示按位异或),该操作的成本为 。
现在要求你让 。如果可能做到,输出最小成本;否则报告不可能。
输入
每个测试点包含多个测试用例。第一行是测试用例个数 ()。
接下来每个测试用例一行,包含四个整数 (,)—— 两个整数以及两种操作的各自成本。
输出
对于每个测试用例,输出一个整数 —— 使 的最小成本,如果不可能则输出 。
示例
输入
7
1 4 1 2
1 5 2 1
3 2 2 1
1 3 2 1
2 1 1 2
3 1 1 2
1 100 10000000 10000000
输出
3
6
1
3
-1
-1
990000000
提示
- 第一个测试用例:最优策略是连续三次 ,总成本 。
- 第二个测试用例:最优策略是按顺序 ,,,,总成本 。
- 第五个测试用例:可以证明无法使 。