sicily 1483. 纪念品分组
#include<iostream> //贪心,每个分组尽量是两个纪念品的组合
#include<algorithm>
using namespace std;
int main()
{
int tag=0,n,w,p[30000];
while(cin>>w>>n)
{
if(tag)
cout<<endl;
else
tag=1;
for(int i=0;i<n;++i)
cin>>p[i];
sort(p,p+n);
int sum=n,s=0,t=n-1; //sum初始为n,表示每一组内只有一个纪念品
while(t>s)
{
if(p[t]+p[s]<=w) //如果最大和最小的纪念品可以组合成一组,则分组数减去 1
{
sum--;
s++;
}
t--;
}
cout<<sum<<endl;
}
return 0;
}