99网
您的当前位置:首页Codeforces Round #614 (Div. 2)A. ConneR and the A.R.C. Markland-N

Codeforces Round #614 (Div. 2)A. ConneR and the A.R.C. Markland-N

来源:99网

A. ConneR and the A.R.C. Markland-N


当然我也看到网上很多大佬用set和map做,要是觉得二分太麻烦,下面甩给你们链接自己去康吧


附上代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF=0x3f3f3f;
int a[1010],k;
int f(int y){
 int l=1,r=k;
 while(r>=l){
  int mid=(r+l)/2;
  if(a[mid]==y)
   return 0;
  if(a[mid]>y)
   r=mid-1;
  if(a[mid]<y)
   l=mid+1;
 }
 return 1;
}
int main(){
 ios::sync_with_stdio(0);
 cin.tie(0);cout.tie(0);
 
 int t;
 cin>>t;
 while(t--){
  int ans=INF;
  int n,s;
  cin>>n>>s>>k;
  for(int i=1;i<=k;i++)
   cin>>a[i];
  sort(a+1,a+k+1);
  for(int i=max(s-1000,1);i<=min(n,s+1000);i++){
   if(f(i))
    ans=min(ans,abs(s-i));
  }
  cout<<ans<<endl;
 }
 return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容