码迷,mamicode.com
首页 > 其他好文 > 详细

2020-05-18 — 习题训练一C - Road To Zero

时间:2020-05-20 12:50:06      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:ret   cst   std   最小值   题意   clu   panel   ane   namespace   

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

标签:ret   cst   std   最小值   题意   clu   panel   ane   namespace   

原文地址:https://www.cnblogs.com/nanan/p/12922686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!