A. Road To Zero (贪心)

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;
} 
全部评论

相关推荐

面了100年面试不知...:今年白菜这么多,冬天可以狂吃了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务