2020-05-18 — 习题训练一C - Road To Zero
Posted nanan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-05-18 — 习题训练一C - Road To Zero相关的知识,希望对你有一定的参考价值。
VJ
C - Road To Zero
题意:给定x和y,有两种操作方法使其得到x=y=0,求最少花费是多少;
操作1(花费a):其中一个数加1或减1;操作2(花费b):全部加1或减1。
解题思路:根据题意,只能进行两种情况的操作,不能同时加减1,会使其为负值;
考虑到a和b之间的差值,两种操作判断出最小值。
一定要注意是long long!!!
ac代码:
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
long long int t,x,y,a,b,i,mi,ma;
cin>>t;
for(i=0;i<t;i++){
cin>>x>>y;
cin>>a>>b;
mi=min(x,y);
ma=max(x,y);
if((ma-mi)*a+mi*b>=(x+y)*a){//比较各自减1的a操作与共同部分减1的b操作+不同部分的a操作
cout<<(x+y)*a<<endl;
}
else{
cout<<(ma-mi)*a+mi*b<<endl;
}
}
return 0;
}
/
以上是关于2020-05-18 — 习题训练一C - Road To Zero的主要内容,如果未能解决你的问题,请参考以下文章