题意:

n g dough  m种商品?

每种有ai stuffing, 拿bi stuffing + ci dough -> di tugriks

rest c0 dough -> d0 tugriks

求最大的tugriks

思路:

dough是爸爸,

dp[i] 代表 在花费 i 情况下 前 j 个 商品的最大。

枚举在 k g dough 下的各种收入情况,取最大;

大致分成两个部分,用ai + bi 获得的钱,剩下的dough去干嘛得到。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL; int dp[1010];
int m,n,cc0,dd0;
int a[15],b[15],c[15],d[15]; int main()
{
cin>>n>>m>>cc0>>dd0;
for(int i=0;i<m;i++)
cin>>a[i]>>b[i]>>c[i]>>d[i];
memset(dp,0,sizeof(dp));
for(int i=0;i<m;i++)
{
for(int k=n;k>=c[i];k--)
{
int p=0,q=0,num=0;
for(;p<=a[i]&&q<=k;p+=b[i],q+=c[i],num++)
{
int come1=num*d[i]+dp[k-num*c[i]];
int come2=num*d[i]+(k-num*c[i])/cc0*dd0+dp[k-num*c[i]-(k-num*c[i])/cc0*cc0];
int come3=k/cc0*dd0+dp[k-k/cc0*cc0];
int come4=dp[k-k%cc0];
dp[k]=max(dp[k],come1);
dp[k]=max(dp[k],come2);
dp[k]=max(dp[k],come3);
dp[k]=max(dp[k],come4);
}
}
}
printf("%d\n",dp[n]);
return 0;
}

最新文章

  1. PHP-格式标签
  2. [Js/Jquery]立即执行匿名函数
  3. 导入 sun.net.TelnetInputStream; 报错
  4. Gulp Babel AMD转换例子
  5. IntelliJ IDEA使用记录
  6. JS中offsetLeft,Left,clientLeft的区别(纯转贴)
  7. CSQuery 简单测试
  8. android 使用虚拟机安装apk(图文教程)(转)
  9. Windows下如何使用BOOST C++库 .
  10. 偶尔会用到的有用的CMD命令
  11. Tomcat 内存设置
  12. Symbol() 的使用方法
  13. JavaScript连等赋值
  14. 授权管理-LDAP-介绍与环境搭建
  15. [Swift]LeetCode393. UTF-8 编码验证 | UTF-8 Validation
  16. 协程demo,1异步爬网页 2异步socket请求
  17. Servlet Analysis
  18. [android] 手机卫士手机定位的原理
  19. [SoapUI] 通过context获取response并解析里面的某个字段的值
  20. 利用oneproxy实现mysql读写分离搭建笔记

热门文章

  1. 数据结构C语言版干货-------&gt;线性表之顺序表
  2. Android中高效的显示图片之一 ——加载大图
  3. 判断CPU是大端还是小端
  4. CTS 2019 Pearl
  5. SQL Server DBA十大必备工具使生活轻松
  6. Access中创建子数据表/主子数据表
  7. spring IOC 注解@Resource
  8. python xml包 xml.etree.ElementTree使用记录
  9. 如何调整chm文字字体大小
  10. 一个能获取如果hash或search是中文的内容小例子