链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
游游有nnn个苹果,mmm个桃子。她可以把2个苹果和1个桃子组成价值aaa元的一号水果大礼包,也可以把1个苹果和2个桃子组成价值bbb元的二号水果大礼包。游游想知道,自己最多能组成多少价值总和的大礼包?
输入描述:
四个正整数n,m,a,bn,m,a,bn,m,a,b,用空格隔开。分别代表苹果的数量、桃子的数量、一号大礼包价值、二号大礼包价值。 1≤n,m,a,b≤1061\leq n,m,a,b\leq 10^61≤n,m,a,b≤106
输出描述:
一个整数,代表大礼包的最大价值总和。
示例1
输入
复制3 4 1 2
3 4 1 2
输出
复制4
4
说明
组成两个二号水果大礼包,使用了2个苹果和4个桃子。总价值为4。
示例2
输入
复制1 1 5 6
1 1 5 6
输出
复制0
0
说明
显然无法组合成任意一个大礼包
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,a,b;
cin>>n>>m>>a>>b;
long ans=0;
for(int i=0;i<=m;i++){//duiyigedi
long sum=0;
sum+=i*a;
if(i*2<=n){//duidierge
long x=n-i*2,y=m-i;
sum+=min(x,y/2)*b;//The finishing touch
ans=max(ans,sum);//mix compare
}
}
cout<<ans;
return 0;
}