#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int a[30001],flag[30001]={0},ans=0,s=0;
int main()
{
int n,m;
cin>>n>>m;
s=m;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+1+n);
for(int i=1;i<=m;i++)
{
if(s==1)
{
ans++;
break;
}
for(int j=m;j>=1;j--)
{
if(a[i]+a[j]<=n&&flag[i]==flag[j]==0)
{
ans++;
flag[i]=1;
s-=2;
}
}
}
cout<<ans;
}
为什么输出是0?