1165 纪念品分组(要认真看题目!!!!!!!!!!)
来源:互联网 发布:最大域名注册商 编辑:程序博客网 时间:2024/06/06 03:21
纪念品分组
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:35 测试通过:19
描述
ACM爱好者协会成功举办了月赛,fudq找来了cnsks、大帅、hjx1993、Anderson等众大牛帮忙负责月赛的纪念品发放工作。为使得参加月赛的同学所获得的纪念品价值相对均衡,他们要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,fudq希望分组的数目最少。
你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。
输入
输入数据有多组,每组数据包含n+2行:
第1行包括一个整数w,为每组纪念品价格之和的上限。
第2行为一个整数n,表示购来的纪念品的总件数。
第3~n+2行每行包含一个正整数pi (5 <= pi <= w),表示所对应纪念品的价格。(1<= n <= 30000, 80 <= w <= 200)
输出
每组数据输出一行,包含一个整数,即最少的分组数目。
样例输入
100
9
90
20
20
30
50
60
70
80
90
样例输出
6
代码:
#include<stdio.h>#include<algorithm>using namespace std;int main(){ int w,n,a[30010],x; //freopen("Data.txt","r",stdin); while(scanf("%d",&w)!=EOF) { scanf("%d",&n); x=0; for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); for(int i=0,j=n-1;i<j;) { if(a[i]+a[j]<=w) { i++;j--;x++; } else j--; } printf("%d\n",n-x); } return 0;}
其实这题目是个很简单的贪心吧?但是我错了很多很多遍。。。其实看了题目一眼就已经知道该怎么做了,结果错了很多很多遍。。你猜为什么?数组定义的是a[3000],肯定不对!
要认真看题目!!!
0 0
- 1165 纪念品分组(要认真看题目!!!!!!!!!!)
- 纪念品分组 (贪心)
- noip2007 纪念品分组 (贪心)
- 纪念品分组(简单贪心)
- 贪心 纪念品分组(NOIP2007)
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- 一步一步学习 JQuery (六) JQuery 的 html() & val() && CSS_DOM操作
- 关于 error: LNK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案
- 微信红包海量运营
- Dividing poj 1014
- (API GUIDE 6)Content Provider(内容提供者)
- 1165 纪念品分组(要认真看题目!!!!!!!!!!)
- C语言基础——循环结构
- Android图片系列(1)-------调用系统相册与相机获取图片
- Cocos2d-x3.2实现虚拟摇杆多点触摸
- 如此方法下载视频
- Cocos2d-x 3.0-贪食蛇游戏案例(全)
- 多线程的实现
- leetcode:Fraction to Recurring Decimal
- 【BZOJ 1367】 [Baltic2004]sequence