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


















