版权声明:欢迎转载,若转载,请标明出处,如有错误,请指点,也欢迎大佬们给出优化方法 https://blog.csdn.net/Charles_Zaqdt/article/details/87773569
题目链接:https://codeforces.com/contest/1118/problem/A
题意是有n升水,有两种容量的瓶子(无限个),第一种1升,第二种2升,给出两种瓶子的价钱,问最少花多少钱能装满n升。
这道题直接求买a的价钱和买b的价钱,输出一个最小值就好了,但是如果n是奇数的话,还要再多买一个a。
AC代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a,b;
int main()
{
int T;
cin>>T;
while(T--){
cin>>n>>a>>b;
cout<<min(n * a, n / 2 * b + n % 2 * a)<<endl;
}
return 0;
}