#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N = 1e5+10, M = 2e6 + 10;
typedef long long ll;
ll a[2][M];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i ++){
int x;
cin>>x;
if (x<0) a[0][-x]=1;
if (x>=0) a[1][x]=1;
}
for (int i = 1; i <= m; i ++) {
a[0][i]+=a[0][i-1];
a[1][i]+=a[1][i-1];
}
ll res_left = 0;
for (int i = 1; i <= m; i ++){
ll d = a[0][i];
if (m-2*i>0) d += a[1][m - 2*i];
res_left = max(res_left,d);
}
ll res_right = 0;
for (int i = 1; i <= m; i ++){
ll d = a[1][i];
if (m-2*i>0) d += a[0][m - 2*i];
res_right = max(res_right,d);
}
cout << max(res_left,res_right)<<endl;
return 0;
}
代码在这里