A. Road To Zero (贪心)
题意:给定非负整数x,y,两个操作1(花费a):其中一个数加1或减1,操作2(花费b):全部加1或减1,问让x=y=0的最少花费是多少。PS:坑爹题意:此处不需要让x=y=0为同时到达
思路:由于最后X=Y=0,显然X与Y的差值带来的花费是必须的,所以贡献1为abs(x-y) * a,其次再贪心比较一下花费2a都减1和花费b都减1谁小就行了。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int t;
cin>>t;
while(t--){
ll x,y,a,b;
cin>>x>>y>>a>>b;
printf("%lld\n",abs(x-y)*a+min(x,y)*min(2*a,b));
}
return 0;
}