题解:模拟
#include<iostream>
#include<algorithm>
using namespace std;
int a[30001];
int main ()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>a[i];
sort(a+1,a+m+1);
int l=1,r=m;
int ans=0;
while (l<=r)
{
if (a[l]+a[r]>n){ans++;r--;}//一件一组
if (a[l]+a[r]<=n){ans++;r--;l++;}//两件一组
}
cout <<ans;
return 0;
}