我的代码,改对也行
#include<bits/stdc++.h>
using namespace std;
const int N=1e6;
int a[N],n,m,k,o,cnt,b,c;
int f(int x)
{
int l=1,r=n,ans=-1;
while(l<=r)
{
int mid=l+(r-l)/2;
if(a[mid]>x) r=mid-1;
else if(a[mid]<x) l=mid+1;
else
{
ans=mid;
r=mid-1;
}
}
return ans;
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>c;
for(int i=1;i<=n;i++)
{
cin>>a[i];
b=i;
}
sort(a+1,a+n+1);
b=a[b];
for(int i=c;i<=b;i++)
{
k=i;
o=k-c;
if(f(o)!=-1)
{
cnt++;
}
}
cout<<cnt;
return 0;
}