最短距离就是,找到距离n/2最近的那个数,算出其距离左边或右边更近的那个距离。
最大距离就是,距离边缘最近的那个数,算出其距离左边或右边更远的那个距离。
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int length,antNum;
cin>>length>>antNum;
int flag=length/2;
int min=0,max=0;
while(antNum--)
{
int x;
cin>>x;
if(abs(x-flag)<abs(min-flag))
min=x;
if((length-x)>max)
max=length-x;
else if(x>max)
max=x;
}
if(min>=flag) min=length-min;
cout<<min<<" "<<max<<endl;
}
return 0;
}