题目描述
题目描述
元旦快到了,校学生会让小理负责新年晚会的纪念品发放工作。
为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。
为了保证在尽量短的时间内发完所有纪念品,小理希望分组的数目最少。
你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。
输入格式
第 $1$ 行包括一个整数 $w$ ,为每组纪念品价格之和的上限。
第 $2$ 行为一个整数 $n$ ,表示购来的纪念品的总件数。
第 $3 \sim n+2$ 行每行包含一个正整数 $p_i$ ( $5 ≤ p_i ≤ w$ ) ,表示所对应纪念品的价格。
输出格式
包含一个整数,即最少的分组数目。
样例输入输出
样例输入
100
9
90
20
20
30
50
60
70
80
90
样例输出
6
数据范围
对于 $100%$ 的数据,保证 $1 \le n \le 30000,80 \le w \le 200$ 。
来源/分类
贪心 2004 NOIP普及组 排序