Vj C - Road To Zero

#include<bits/stdc++.h>
#define ll long long
using namespace std;
//花a的钱可以让x或y加1或减1,花b的钱可以让x和y同时加1或减1,求使a=b=0所花最少的钱
int  main( )
{
    ll t,k=0,x,y,a,b,s1,s2;
    cin>>t;
    ll m[t];
    for(int i=0; i<t; i++)
    {
        cin>>x>>y;
        cin>>a>>b;
        s1=a*(x+y);//a,b差值很大时可能的情况
        s2=b*min(x,y)+a*(max(x,y)-min(x,y));//a,b差值小的时候可能的情况
        m[k]=min(s1,s2);//求两种可能的最小值
        k++;
    }
    for(int i=0; i<t; i++)
    {
        cout<<m[i]<<endl;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/SyrupWRLD999/p/12909807.html
vj