为什么我的二分WA了呢?
#include<bits/stdc++.h>
using namespace std;
int n;
int a[5005];
int l,r;
bool ch(int x){
map<int,int> mp;
for(int i=1;i<=n;i++){
if(mp[a[i]%x]!=0){
return 0;
}
else{
mp[a[i]%x]=1;
}
}
return 1;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
l=n,r=5005;
while(l<=r){
int mid=(l+r)/2;
if(ch(mid)){
r=mid-1;
}
else{
l=mid+1;
}
}
cout<<l;
}