- 贪心策略:最大的先和小的组合
- 先从小到大排列,然后从左右两边开始找符合条件的两件纪念品,如果不符合,就让右边的单独放一组
#include<bits/stdc++.h>
#define maxn 30005
using namespace std;
int a[maxn];
int main(){
int w,n;
cin>>w>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
int ans=0;
for(int i=1,j=n;j>=i;j--,ans++){
if(a[i]+a[j]<=w) i++;
}
cout<<ans<<"
";
return 0;
}