1334: [Baltic2008]Elect

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 575  Solved: 333
[Submit][Status][Discuss]

Description

N个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于总数的一半,并且联合内阁的席位数越多越好. 对于一个联合内阁,如果某个政党退出后,其它党的席位仍大于总数的一半,则这个政党被称为是多余的,这是不允许的.

Input

第一行给出有多少个政党.其值小于等于300 下面给出每个政党的席位数.总席位数小于等于 100000

Output

你的组阁方案中最多能占多少个席位.

Sample Input

4
1 3 2 4

Sample Output

7

HINT

选择第二个政党和第四个

#include <cstdio>
#include <algorithm>using namespace std;int a[301],f[100001];
int main()
{int n,i,j,sum = 0,ans = 0;scanf("%d" , &n);for(i = 1 ; i <= n ; i ++ )scanf("%d" , &a[i]) , sum += a[i];sort(a + 1 , a + n + 1);f[0] = 1;for(i = n ; i >= 1 ; i -- )for(j = sum / 2 + a[i] ; j >= a[i] ; j -- )if(f[j - a[i]])f[j] = 1 , ans = max(ans , j);printf("%d\n" , ans);return 0;
}

转载于:https://www.cnblogs.com/L-Memory/p/7061645.html

bzoj1334[Baltic2008]Elect(背包dp)相关推荐

  1. bzoj1334 [Baltic2008]Elect

    Description N个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于总数的一半,并且联合内阁的席位数越多越好. 对于一个联合内阁,如果某个政党 ...

  2. 【LibreOJ】#6395. 「THUPC2018」城市地铁规划 / City 背包DP+Prufer序

    [题目]#6395. 「THUPC2018」城市地铁规划 / City [题意]给定n个点要求构造一棵树,每个点的价值是一个关于点度的k次多项式,系数均为给定的\(a_0,...a_k\),求最大价值 ...

  3. 背包dp的核心思想(动态规划)

    背包dp 突然发现我一直没有真正理解背包,真正的背包应该是用空间换时间的一种dp方法,本质上就是n个物品选或不选,理论上有2n2^n2n种可能结果,但是背包利用的就是值域很小这一特点来重叠子结构,所以 ...

  4. Codeforces 864E Fire(背包DP)

    背包DP,决策的时候记一下 jc[i][j]=1 表示第i个物品容量为j的时候要选,输出方案的时候倒推就好了 #include<iostream> #include<cstdlib& ...

  5. 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp

    题目描述 给你一棵 $n$ 层的完全二叉树,每个节点可以染黑白两种颜色.对于每个叶子节点及其某个祖先节点,如果它们均为黑色则有一个贡献值,如果均为白色则有另一个贡献值.要求黑色的叶子节点数目不超过 $ ...

  6. HDU 1011 Starship Troopers 树形+背包dp

    http://acm.hdu.edu.cn/showproblem.php?pid=1011   题意:每个节点有两个值bug和brain,当清扫该节点的所有bug时就得到brain值,只有当父节点被 ...

  7. 【bzoj1222】[HNOI2001]产品加工 背包dp

    题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工 ...

  8. 【bzoj4753】[Jsoi2016]最佳团体 分数规划+树形背包dp

    题目描述 JSOI信息学代表队一共有N名候选人,这些候选人从1到N编号.方便起见,JYY的编号是0号.每个候选人都由一位编号比他小的候选人Ri推荐.如果Ri=0则说明这个候选人是JYY自己看上的.为了 ...

  9. 【bzoj5072】[Lydsy十月月赛]小A的树 树形背包dp

    题目描述 给出一棵n个点的树,每个点有黑白两种颜色.q次询问,每次询问给出x和y,问能否选出一个x个点的联通子图,使得其中黑点数目为y. 输入 第一行一个正整数 T 表示数据组数. 对于每一组数据,第 ...

最新文章

  1. java jar包的路径
  2. 《系统集成项目管理工程师》必背100个知识点-98大数据的特点
  3. 奉献给你:《Visual C# 2005程序开发与界面设计秘诀》
  4. python两列相乘_python – Pandas group by和sum两列
  5. 线性表:1.什么是线性表
  6. C++类型转换实现不同类型相加【复数与double类型相加】
  7. 内存中Android,什么是Android内存转储中的EGL和GL mtrack?
  8. 2013-2018卷积神经网络中十个最重要的概念与创新
  9. 手机黑屏时闪屏怎么回事_手机屏幕碎了,先别着急换!维修师傅告诉你,如何不被忽悠多花钱...
  10. mysql的可视化工具_Mysql可视化工具Navicat的基本使用
  11. 移动宽带覆盖小区查询 (广东范围)
  12. python set集合排序_Python Set集合
  13. 计算机专业的梦想作文,我的梦想作文300字(通用15篇)
  14. 传奇服务器端回满血文件,单机架设传奇服务器第八课:血过65535
  15. android wifi dns设置在哪,WiFi高级设置DNS在哪
  16. 聊聊两个状态管理库 Redux Recoil
  17. 代码中的软件工程:正则表达式十步通关
  18. EasyCVR实时录像接口教程:如何获取国标接入的摄像头设备录像?
  19. 如何在Linux终端中复制和粘贴文本、文件和文件夹。
  20. 什么是 Bluetooth 个人区域网 (PAN)?

热门文章

  1. GPS计算司机行车时长,深圳交警开启疲劳驾驶午间整治
  2. Postman教程大全
  3. new,delete总结
  4. python的继承用法_Python 中的继承之Super用法
  5. 076_html5事件属性
  6. 微信小程序python数据交换代码_一个微信小程序通过 DDP 协议和 Meteor 后端交换数据的简单例子...
  7. Kotlin极简教程:第9章 轻量级线程:协程
  8. setDrawingCacheEnabled(boolean flag)
  9. RecyclerView列表控件漂亮时间线实现
  10. 08day 数据泵(expdb/impdb)—数据导出