51nod1266【水】
最短,两半分开走
最长,一边走,比较一下两端就好了。
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=5e4+10;
int a[N];
int n;
int m;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
int tmin,tmax;
tmin=0;
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
if(a[i]<(m/2+1))
tmin=max(a[i],tmin);
else
tmin=max(m-a[i],tmin);
}
if(n==1)
tmax=max(m-a[1],a[1]);
else
tmax=max(m-a[1],a[n]);
printf("%d %d",tmin,tmax);
return 0;
}