#include<iostream>
#include<algorithm>
using namespace std;
long long a[10010];
int main()
{
long long n,k=0;
long long i,t=0,max;
cin>>n>>max;
for(i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
for(i=n-1;i>=t;i--) //这里用等号是因为要包含最后只剩一个测试数据时的情况
{ //当然如果直接用大于,那就要用标记法(下面的for循环),把它和其他单独的数据一样
if(a[i]+a[t]<=max) //在最后遍历统计,当然这是就要把else的内容给去了(不去也是可以的),节省代码和时间。
{
// a[i]=0;
// a[t]=0;
k++;
t++;
}
else
{
// a[i]=0;
k++;
}
}
// for(i=0;i<n;i++)
// {
// if(a[i])
// {
// k++;
// }
// }
cout<<k<<endl;
return 0;
}
#include<algorithm>
using namespace std;
long long a[10010];
int main()
{
long long n,k=0;
long long i,t=0,max;
cin>>n>>max;
for(i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
for(i=n-1;i>=t;i--) //这里用等号是因为要包含最后只剩一个测试数据时的情况
{ //当然如果直接用大于,那就要用标记法(下面的for循环),把它和其他单独的数据一样
if(a[i]+a[t]<=max) //在最后遍历统计,当然这是就要把else的内容给去了(不去也是可以的),节省代码和时间。
{
// a[i]=0;
// a[t]=0;
k++;
t++;
}
else
{
// a[i]=0;
k++;
}
}
// for(i=0;i<n;i++)
// {
// if(a[i])
// {
// k++;
// }
// }
cout<<k<<endl;
return 0;
}