纪念品分组(NOIP2007)
纪念品分组(NOIP2007)
【题目描述】
元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。
为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把
购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,
并且每组纪念品的价格之和不能超过一个给定的整数。
为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。
你的任务是写一个程序,找出所有分组方案中分组数最少的一种,
输出最少的分组数目。
【输入格式】
输入文件group.in包含n+2行:
第1行包括一个整数w,为每组纪念品价格之和的上限。
第2行为一个整数n,表示购来的纪念品的总件数。
第3~n+2行每行包含一个正整数pi (5 <= pi <= w),
表示所对应纪念品的价格。
【输出格式】
输出文件group.out仅一行,包含一个整数,即最少的分组数目。
【输入样例】
100
9
90
20
20
30
50
60
70
80
90
【输出样例】
6
【限制】
50%的数据满足:1 <= n <= 15
100%的数据满足:1 <= n <= 30000, 80 <= w <= 200
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b)
{
return (*(int *)a) -(*(int *)b);
}
int main()
{
int w,n,*p;
int i,j;
int ans;
freopen("group.in","r",stdin);
freopen("group.out","w",stdout);
scanf("%d%d",&w,&n);
p=(int *)malloc(n*sizeof(int));
;i<n;i++)
{
scanf("%d",p+i);
}
qsort(p,n,sizeof(int),cmp);
i=;
j=n-;
ans=;
while(i<=j)
{
if(p[i]+p[j]<=w)
{
i++;j--;
}
else
j--;
ans++;
}
printf("%d\n",ans);
free(p);
;
}
纪念品分组(NOIP2007)的更多相关文章
- C++算法代码——纪念品分组[NOIP2007 普及组]
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1099 https://www.luogu.com.cn/problem/P1094 ...
- noip普及组2007 纪念品分组
纪念品分组 描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组 ...
- P1094 纪念品分组
P1094 纪念品分组 题目描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪 ...
- 蓝桥杯 算法训练 ALGO-34 纪念品分组
算法训练 纪念品分组 时间限制:1.0s 内存限制:256.0MB 问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购 ...
- 1143 纪念品分组 2007年NOIP全国联赛普及组
1143 纪念品分组 2007年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Descri ...
- codevs 1143 纪念品分组
1143 纪念品分组 2007年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 题目描述 Description ...
- 洛谷 P1094 纪念品分组
P1094 纪念品分组 先按价格对纪念品排序(这里是从大到小),然后从两端向中心开始配对,有两个变量i和j,表示正在处理的两个纪念品编号,开始时i=1,j=n,如果a[i]+a[j]>w则第i贵 ...
- Java实现蓝桥杯VIP算法训练 纪念品分组
试题 算法训练 纪念品分组 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡, ...
- NOIP2007 T2纪念品分组 解题报告-S.B.S.
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #inclu ...
随机推荐
- 在Visual Studio 2013里使用 Microsoft SQL Server Compact Edition
(1)下载SQLCE组件 https://www.microsoft.com/en-us/download/details.aspx?id=17876 (2)下载VS2013工具设计器 https:/ ...
- Chapter 1 -- UsingAndAvoidingNull
"Null sucks." -Doug Lea "Null 很恶心!" "I call it my billion-dollar mistake.&q ...
- 一种开源的分布式消息系统Nats
一种开源的分布式消息系统Nats 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 1.NATS介绍 NATS是一个开源的 ...
- NoSQL数据存储
些数据库并不是关系型的,不支持 SQL.它们用来处理庞大的数据集.支持更加灵活的 数据定义以及定制的数据操作.这些被统称为 NoSQL(not only SQL) . dbm family dbm格式 ...
- C/C++ 指针函数 与 函数指针
指针函数是个函数,是返回指针类型到函数. 函数指针是个指针,是指向函数地址到指针. 区分两者的关键点是,函数名是否用*和括号“包围”起来. #include <stdio.h> int * ...
- go语言之进阶篇error接口的使用
1.error接口的使用 示例: package main import "fmt" import "errors" func main() { //var e ...
- DevExpress ChartControl 柱状图的使用【转】
//中心业务平台的“热门岗位信息监测”柱状图 public partial class HotJobInfo : UserControl { private object _o ...
- [leetcode]Permutations @ Python
原题地址:https://oj.leetcode.com/problems/permutations/ 题意: Given a collection of numbers, return all po ...
- CSS渐变字体、镂空字体、input框提示信息颜色、给图片加上内阴影、3/4圆
1.渐变字体 主要是看:-webkit-background-clip: text; 该属性 <style> .b1{ width: 500px; height: 200px; font- ...
- 【Scala】Scala-调用Java-集合
Scala-调用Java-集合 sacla 遍历 java list_百度搜索 13.11 Scala混用Java的集合类调用scala的foreach遍历问题 - 简书