1483. 纪念品分组

Constraints

Time Limit: 1 secs, Memory Limit: 32 MB

Description

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

Input

输入包含多组测试数据,每个测试数据包含n+2行:
    第1行包括一个整数w,为每组纪念品价格之和的上限。
    第2行为一个整数n,表示购来的纪念品的总件数。
    第3~n+2行每行包含一个正整数pi (5 <= pi <= w),表示所对应纪念品的价格。

1 <= n <= 30000, 80 <= w <= 200

Output

对每个测试数据,输出一行,包含一个整数,即最少的分组数目。
相邻两个测试数据间用一个空行隔开。

Sample Input

100
9
90
20
20
30
50
60
70
80
90

Sample Output

6

Problem Source

NOIP 2007

先对价格排序,对于每一组先取最大与最小值,若它们的和大于所给定整数,最大值就单独成一组,否则该最大值与最小值的纪念品成一组。以此类推,可求出最少的组数。

输出方面!!!

第一种情况:在下一次样例输入w(给定最大整数)输入之后(证明下面还有其他样例),先输出空行,再输入n

第二种情况:输入w和n之后再输出空行

两种情况都是可以过的,但是如果是用我的代码加上第二种情况就会超时。第二种情况不超时的代码,百度到一个:

链接:http://www.cnblogs.com/mjc467621163/archive/2011/07/05/2097886.html

下面上自己的代码

#include <iostream>
#include <stdlib.h>
#include <algorithm>using namespace std;int main() {int n, w, souvenir[30005];cin>>w;while(1){int count = 0;cin>>n;for (int i = 0; i < n; i++) { //输入cin>>souvenir[i];}sort(souvenir, souvenir + n); //排序int i = 0;int j = n - 1;while(i < j){if (souvenir[i] + souvenir[j] <= w) {count++;i++;j--;} else {count++;j--;}}if (i == j) {count++;}cout<<count<<endl;if (cin>>w)    cout<<endl;else   break;}//system("pause");return 0;
}

1483. 纪念品分组 输出好忧桑…………相关推荐

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

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

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

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

  3. codevs 1143 纪念品分组

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

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

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

  5. 忧桑三角形,调了半天,真忧桑TAT

    忧桑三角形 试题描述 小J是一名文化课选手,他十分喜欢做题,尤其是裸题.有一棵树,树上每个点都有点权,现在有以下两个操作: 1. 修改某个点的点权 2. 查询点u和点v构成的简单路径上是否能选出三个点 ...

  6. SDNU-1183.纪念品分组

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

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

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

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

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

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

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

最新文章

  1. python手机版安卓-当python遇到Android手机 那么,万物皆可盘
  2. 鸟哥的Linux私房菜(基础篇)- 第十九章、认识与分析登录文件
  3. 这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇
  4. spring实例化bean的方式
  5. Docker修改空间大小
  6. openpyxl删除添加excel列_Python | 如何使用Python操作Excel(二)
  7. svn 版本升级的问题
  8. 给电子类大学生一点求职建议
  9. 最强盘点!国产数据分析BI工具怎么选?看这篇就够了
  10. javascript基础与编写习惯
  11. 阿里云 wdcp面板后台控制安装
  12. 剑指 Offer II 028. 数组中出现次数超过一半的数字
  13. idea maven sync Cannot resolve xxx 的解决方案
  14. python垂直输出_Python实现图像的垂直投影示例
  15. 图片轮流翻转,一直循环
  16. JAVA动态绑定浅析
  17. 为了拿Ph.D而做出的诺贝尔奖
  18. 程序员因为写了一段爬虫代码,全公司200人被警察一锅端!
  19. Mybatis-Plus报错:Invalid bound statement (not found)
  20. java.util.list 报错_cannot be cast to java.util.List

热门文章

  1. 从子域名看百度,新浪,搜狐,QQ和网易
  2. 圣诞节蓝牙耳机选哪款作为礼物比较好?耐用的蓝牙耳机推荐
  3. pfamscan 的使用_科学网—[转载]InterProScan的使用教程 - 黄顺谋的博文
  4. 网络安全之文件包含漏洞总结
  5. 20200714学习笔记
  6. NGUI的localize的更换KEY后刷新的问题
  7. 移动开发周刊:Android ImageView正确使用、WebView与JS交互解析
  8. Euraka服务注册篇
  9. 不负春光 清风徐徐入手心 一寸光阴一寸金
  10. Java控制无人机程序_深入了解ROS之编写无人机控制程序包