两小球完全弹性碰撞,相当于两小球穿过互不影响,所以总体的最短时间为所有小球滚出去的最短时间的最大值;总体最长时间为所有小球滚出去的最长时间的最大值
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define pi 3.14159
#define N 5
long long int a[1000010],max[1000010],min[1000010];
int main(){
memset(a,0,sizeof(a));
memset(max,0,sizeof(max));
memset(min,0,sizeof(min));
long long int l,n,maxl=0,minl=0;
scanf("%lld%lld",&l,&n);
for(long long int i=0;i<n;i++){
scanf("%lld",&a[i]);
max[i]=(a[i]>(l-a[i]))?a[i]:(l-a[i]);
min[i]=(a[i]>(l-a[i]))?(l-a[i]):a[i];
}
for(long long int i=0;i<n;i++){
if(max[i]>maxl)maxl=max[i];
if(min[i]>minl)minl=min[i];
}
printf("%lld %lld",minl,maxl);
return 0;
}