U50323.整数
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给出一个正整数 n。您有三种操作可以选择(每个可以选择的操作都可以选择无限次):
- 把 n 减去 1,代价为 a。
- 把 n 加上任意正整数,代价为 b。
- 只有当 n 为偶数时,才能把 n 除以 2,代价为 c。
现在需要将 n 变为 1,求解最小代价。
输入格式
第一行一个正整数 q,表示有 q 次查询。
接下来 q 行,每行 4 个自然数 n,a,b,c 分别表示开始时的数以及三个操作的代价(特别的,如果某个操作的代价为 0 时表示这个操作不可以选择)。
输出格式
共 q 行,每行一个非负整数,表示每次查询的最小代价。
输入输出样例
输入#1
3 5 1 1 2 10 3 3 1 99 3 4 5
输出#1
4 6 37
说明/提示
对于 10% 的数据 1≤q,n,a,b,c≤5。
对于 40% 的数据 1≤q≤5,1≤n,a,b,c≤106。
对于另外 10% 的数据 a=0,b=0,c=0。
对于另外 10% 的数据 a=0,b=0,c=0。
对于另外 10% 的数据保证每次操作的 a,b,c 都相等,1≤n≤107。
对于另外 10% 的数据保证 a=b=c。
对于 100% 的数据保证 1≤q≤2×105,1≤n≤1012,0≤a,b,c≤106,a,b,c 中至多只有一个为 0。