SDNU-1183.纪念品分组

Description
元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。

你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。
Input
输入包含n+2行:

第1行包括一个整数w(80 <= W <= 200 ),为每组纪念品价格之和的上限, 第2行为一个整数n(1 <= n <= 30000),表示购来的纪念品的总件数G

第3-n+2行每行包含一个正整数Pi (5 <= Pi <= w3)w表示所对应纪念品的价格。
Output
输出仅一行,包含一个整数,即最少的分组数目。
Sample Input
100
9
90
20
20
30
50
60
70
80
90
Sample Output
6


这一题用sort排序,然后判断头尾相加就ok了。
一开始我用的两层循环做的,用一个数组标记该数是否被读过,这种思想可以,但是超时,注意给的数据范围。TLE代码如下:

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <string>
#include <cstdio>
using namespace std;
#define N 30002
int s[N],c[N];
int main()
{int n,m,sum=0;cin>>m>>n;memset(c,0,sizeof(c));for (int i=0; i<n; i++)cin>>s[i];sort(s,s+n);for (int i=0;i<n;i++)for (int j=n-1;j>=0;j--)if (s[i]+s[j]<=m&&!c[i]&&!c[j])//用c[N]做标记{sum++;c[i]=1;//标记c[j]=1;}for (int i=0;i<n;i++)if (!c[i])sum++;cout<<sum<<endl;return 0;
}

最后想到可以用一层循环来做,在一层循环上做手脚,ac代码如下:

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <string>
#include <cstdio>
using namespace std;
int a[30002];
int main()
{int m,n,i,sum=0;cin>>m>>n;for (i=0; i<n; i++)cin>>a[i];int j=0;sort(a,a+n);for (int i=n-1; i>=j; i--)//用i>=j来做循环结束的条件,这点小细节perfectif (a[i]+a[j]<=m){j++;sum++;}elsesum++;cout<<sum<<endl;return 0;
}

SDNU-1183.纪念品分组相关推荐

  1. SDNU 1481.纪念品分组(水题)

    Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值  相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并 ...

  2. 信息学奥赛一本通 1939:【07NOIP普及组】纪念品分组 | P1094 [NOIP2007 普及组] 纪念品分组

    [题目链接] ybt 1939:[07NOIP普及组]纪念品分组 洛谷 P1094 [NOIP2007 普及组] 纪念品分组 [题目考点] 1. 贪心 [解题思路] 贪心选择:选择价格最小的和最大的纪 ...

  3. 算法训练 纪念品分组(java)

    算法训练 纪念品分组(java) 描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括 ...

  4. java 蓝桥杯算法训练 纪念品分组(题解)

    试题 算法训练 纪念品分组 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡, ...

  5. codevs 1143 纪念品分组

    1143 纪念品分组 2007年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解 题目描述 Description 元旦快到了, ...

  6. Vijos P1409 纪念品分组【贪心】

    描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格 ...

  7. 1483. 纪念品分组 输出好忧桑…………

    1483. 纪念品分组 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发 ...

  8. 洛谷刷题:火星人、奖学金、纪念品分组、统计数字、字符串的展开

    好久没写洛谷了,不优雅的代码又来啦~ [NOIP2004 普及组] 火星人 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字 ...

  9. 【洛谷_P1094】纪念品分组

    纪念品分组 Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件 ...

最新文章

  1. linux cp sync,通过SSH使用Rsync传输文件,复制和同步文件及目录
  2. 【中文】Joomla1.7扩展介绍之Fabrik (强大的表单处理能力)
  3. 解决LiteIDE 中的error process failed to start.
  4. android socket ppt,socket網路設計.ppt
  5. 基于matlab的音乐合成论文,基于matlab软件的音乐合成毕业论文.doc
  6. fatal: remote origin already exists. (远程来源已经存在 解决办法)
  7. MyBatis 核心对象,工作原理及源码解读
  8. c# 全局钩子实现扫码枪获取信息。
  9. 【历史上的今天】9 月 14 日:中国第一封电子邮件;世界上最早的电子银行系统;微软发布 Windows Me
  10. 聊聊从古至今都是如何加密的~
  11. 软件项目管理系统-进度管理
  12. cad命令栏还原默认_CAD命令行不见了怎么重新恢复?
  13. SQLiteHelper帮助类
  14. my.cnf文件详解
  15. 随机子空间(RSM)
  16. 如何修改网易邮箱大师电脑端的消息提示音?超简单
  17. Python File Handing:Create,Open,Append,Read,Write
  18. L3级自动驾驶接管实验测试平台及其应用研究
  19. 什么是电压跟随器,它有哪些特点,应用于哪些场合?
  20. 一个netdisk storage backend app webos和增强的全功能网站云设想

热门文章

  1. 新手!亚马逊店铺刚下来就被封,什么原因
  2. BIO、NIO、AIO、Netty面试题(总结最全面的面试题)
  3. 《树莓派实战秘籍》——1.18 技巧18在移动中给Pi供电
  4. 无痕埋点在Android中的实现
  5. 汇编语言使用宏,实现两个字节压缩BCD数相加
  6. 黑马12月开班时间出炉!戳文章免费试学!
  7. SaaS的本质其实是和网络游戏一样的
  8. jQuery 遍历 - 后代 【后代是子、孙、曾孙等等。children()查找下一个子元素; find()查找所有后代】
  9. [WVR系列路由器] 微信连Wi-Fi功能使用指南
  10. 七星彩长奖表图_够力七星彩奖表长条图最新版