配钥匙
描述
小姐姐想要配 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<iostream>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n,m,a,b;
cin>>n>>m>>a>>b;
int sum;
if(a*m>b)
{
sum=n/m;
sum=sum*b+n%m*a;
}
else{
sum=a*n;
}
if(sum>(n/m+1)*b)
sum=(n/m+1)*b;
cout<<sum<<endl;
}
}