AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 4. Algorithm Design
// 10714 - Ants
#include <iostream>
#include <cstdlib>
using namespace std;
int a[1000001];
int main(void)
{
int i, t, len, n;
int min, max, mid, near_t, near;
cin >> t;
while(t--)
{
cin >> len >> n;
near = len;
min = len;
max = 0;
for(i = 0; i < n; i++)
{
cin >> a[i];
if(a[i] < min) min = a[i];
if(a[i] > max) max = a[i];
near_t = abs(a[i]-(len+1)/2); // 注意距离的计算
if(near_t < near) {near = near_t; mid = a[i];}
} // 最小值为最靠近中间的点到较近端点的距离
// 最大值为最小点距右端点的距离与最大点距左端点的距离中的较大者
cout << (((len-mid)<mid)?(len-mid):mid) << ' '
<< (((len-min)>max)?(len-min):max) << endl;
}
return 0;
}