思路:蚂蚁都是一样的,当两只蚂蚁相遇各自相反方向爬行时,可以等价为相遇后交错而过。
则最长时间就是让距离端点最近的蚂蚁爬到另一个端点(最远)所需要的时间。
最短时间就是先求出所有蚂蚁爬到端点的最短距离,在求出最后一只爬到端点所用的时间即可。
#include<stdio.h>
#define max(a,b) a>b?a:b
int main(void){
int L,n,x,min,max,a;
scanf("%d%d",&L,&n);
max=0;
min=0;
while(n--)
{
scanf("%d",&x);
a = max(x,L-x);
max = max(max,a);
min = max(min,L-a);
}
printf("%d %d\n",min,max);
return 0;
}