CF Om Nom and Candies

分析:输入总重量c,红糖幸福值hr,蓝糖幸福值hb,红糖重wr,蓝糖重wb.输出最大的幸福值。直接暴力就可以了。为了防止时间超限,限制它的循环次数。

# include <stdio.h>
  int main()
  {
	  __int64 c,hr,hb,wr,wb,r,b,i,j,max=0,time=10000000;
	  scanf("%I64d%I64d%I64d%I64d%I64d",&c,&hr,&hb,&wr,&wb);
	  r=c/wr;//最多取r个red candy
	  b=c/wb;//最多取b个blue candy
	  for(i=0;i<=r&&i<=time;i++)
	  {
		  j=(c-i*wr)/wb;//取i个红糖最多取j个蓝糖
		  if(i*hr+j*hb>max)
			  max=i*hr+j*hb;
	  }
	  for(j=0;j<=b&&j<=time;j++)
	  {
		  i=(c-j*wb)/wr;//取j个蓝糖最多取i个红糖
		  if(i*hr+j*hb>max)
			  max=i*hr+j*hb;
	  }
	  printf("%I64d\n",max);
	  return 0;
  }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值