配钥匙
描述
小姐姐想要配 n 把钥匙,她走过开锁铺问老板价钱,老板是这么说的:
小姐姐想知道完成配n把钥匙的任务最少需要花费多少钱?
输入
题目有多组测试数据。第一行输入一个整数T(组数少于100组),表示测试数据组数,对于接下来每组测试数据:
每组测试数据输入只有一行,分别为4个整数,表示n、m、A、B。
0≤A,B≤1000000,0≤n,m≤1000;
输出
对于每组测试数据: 在一行内输出一个整数,表示答案
输入样例 1
1
5 2 2 3
输出样例 1
8
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n,m,a,b,s,k,h;
cin>>n>>m>>a>>b;
if(b/m>=a)s=a*n;
else
{
int s1,s2;
k=n/m;
h=n%m;
s1=k*b+a*h;
s2=b*(n/m+1);
s=s1<s2?s1:s2; //注意需要考虑多配依然划算的情况
}
cout<<s<<endl;
}
return 0;
}