背景

广东汕头聿怀初中 Train#2 Problem3

描述

 现有N个物品,第i个物品有两个属性A_i和B_i。在其中选取若干个物品,使得sum{A_i + B_i}最大,同时sum{A_i},sum{B_i}均非负(sum{}表示求和)。

输入格式

    第一行,一个整数,表示物品个数N。
    接下来N行,每行两个整数,表示A_i和B_i。

输出格式

一个整数,表示最大的sum{A_i + B_i}。

测试样例1

输入


-5 7 
8 -6 
6 -3 
2 1 
-8 -5

输出

8

备注

 N <= 100 , |A_i| <= 1000 , |B_i| <= 1000
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<string>
  4. #include<cstring>
  5. #include<algorithm>
  6. using namespace std;
  7. int n,a[],b[],f[][],suma = ,ans,bg = ,inf = ;
  8. int main(){
  9. cin>>n;
  10. for(int i = ;i <= n;i++){
  11. scanf("%d%d",&a[i],&b[i]);
  12. if(a[i] >= ) suma += a[i];
  13. }
  14. for(int i = ;i <= bg * ;i++) f[][i] = -inf;
  15. f[][bg+a[]] = b[];
  16. f[][bg] = ;
  17. for(int i = ;i <= n;i++){
  18. for(int j = ;j <= bg * ;j++){
  19. f[i][j] = f[i-][j];
  20. if(j - a[i] >= && j - a[i] <= bg * ) f[i][j] = max(f[i][j],f[i-][j-a[i]] + b[i]);
  21. if(j >= bg && f[i][j] >= ) ans = max(ans,j + f[i][j] - bg);
  22. }
  23. }
  24. cout<<ans;
  25.  
  26. return ;
  27. }
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. using namespace std;
  5. int n,f[][];//前i个数sum_a[i]为j的max{sum_b[i]}
  6. int ans,maxa=,mina=;
  7. int a[],b[];
  8. int main()
  9. {
  10.  
  11. scanf("%d",&n);
  12. for(int i=;i<=n;i++)
  13. for(int j=;j<=;j++)
  14. f[i][j]=-;
  15. f[][]=;
  16. for(int i=;i<=n;i++)scanf("%d%d",&a[i],&b[i]);
  17. for(int i=;i<=n;i++)
  18. {
  19. maxa=max(maxa,maxa+a[i]);
  20. mina=min(mina,mina+a[i]);
  21. for(int j=;j>=;j--)
  22. {
  23. f[i][j]=max(f[i][j],f[i-][j]);
  24. if(j-a[i]>=)f[i][j]=max(f[i][j],f[i-][j-a[i]]+b[i]);
  25. if(j>=&&f[i][j]>=)ans=max(ans,j+f[i][j]-);
  26. }
  27. }
  28. printf("%d",ans);
  29. return ;
  30. }

tyvj1089 smrtfun的更多相关文章

  1. [2020年10月28日普级组]1406.SMRTFUN

    S M R T F U N SMRTFUN SMRTFUN 题目描述 "又肥又温顺,又大又笨,他们看起来那么傻,而且也不有趣--" 这些牛想要证明,他们是既有趣,又聪明的.为了这样 ...

  2. tyvj[1089]smrtfun

    描述  现有N个物品,第i个物品有两个属性A_i和B_i.在其中选取若干个物品,使得sum{A_i + B_i}最大,同时sum{A_i},sum{B_i}均非负(sum{}表示求和). 输入格式   ...

  3. HGOI 20190218 题解

    /* 又是AK局... hjc又双叒叕AK了... Hmmm...我侥幸 */ Problem A card 给出无序序列a[]可以选择一个数插入到合适的位置作为一次操作,至少多少次操作后可以把序列变 ...

  4. 洛谷P2340 奶牛会展

    题目背景 奶牛想证明它们是聪明而风趣的.为此,贝西筹备了一个奶牛博览会,她已经对N 头奶牛进行 了面试,确定了每头奶牛的智商和情商. 题目描述 贝西有权选择让哪些奶牛参加展览.由于负的智商或情商会造成 ...

随机推荐

  1. 开源一个windows下的定时任务框架,简单粗暴好用。

    这里是你想要的功能: 支持插件,将你要执行的任务编译成程序集放到框架的根目录下,再进行简单的配置就行了. 支持Corn表达式.想让任务在什么时候执行就在什么时候执行. 支持安装成windows ser ...

  2. 编码中的setCharacterEncoding 理解

    1.pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码.  2.contentType="text/html;charset=UT ...

  3. Zip加密

    http://www.cnblogs.com/kgdxpr/archive/2013/08/01/3230174.html

  4. IIS上部署Net.Core

    部署: 1.安装vc_redist.x64vc_redist.x64 2.安装DotNetCore.1.0.0.RC2-WindowsHosting 3.安装DotNetCore.1.0.0-SDK. ...

  5. AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...

  6. Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类

    一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...

  7. 处理 pcap 中的 mac 二进制字节流为可读格式

    import struct # 利用 struct 处理字节流中的mac地址 适用于小端地址操作系统 def mac2str(bi_mac): mac = "" for i in ...

  8. Bootstrap使用后笔记

      Bootstrap Modal 垂直居中 在 bootstrap.js中修改如下代码: Modal.prototype.adjustDialog = function () { var modal ...

  9. 微信小程序 关于底部导航设置

    在app.json 中添加 "tabBar": { "color":"#ffffff", "borderStyle":& ...

  10. samsung bios configuration怎么设置U盘启动

    1.用第三方U盘制作软件制作U盘启动盘,并下载正版系统镜像或纯净版镜像,下载后缀为ISO的镜像文件拷贝到U盘根目录.2.开机按F2键进入BIOS设置.选择BOOT选项—Secure Boot设置为“D ...