1.纪念品分组.双指针-01
#include <bits/stdc++.h>
using namespace std;
int A[40000];
// 纪念品价值均衡
// 把购来的纪念品进行分组 之和不超过整数 w
// 每组只能有两个纪念品 希望分组的数目要少
// 贪心的策略就是 每个较大的数找到一个 最大的较小的数使其能够小于w
// n为个数
// 利用双指针 一个从前向后
int main()
{
int w,n;cin>>w>>n;
for(int i=1;i<=n;i++){
cin>>A[i];
}
sort(A+1,A+1+n);
int ans=0;
int i=1;int j=n;
while(i<=j){
// cout<<A[i]<<" "<<A[j]<<endl;
if(A[i]+A[j]<=w){
i++;j--;
ans++;
}else{
j--;
ans