我的思路是把桥分为两边 左边最大与右边最大比较出最快时间,最左边的人往右,最右边的人往左得出最长时间
#include <stdio.h>
int main(){
int N;
int L,loc[5001];
scanf("%d%d",&L,&N);
for(int i=0;i<N;i++)
scanf("%d",&loc[i]);
double temp;
for(int j=0;j<N-1;j++)
for(int k=0;k<N-j-1;k++){
if(loc[k]>loc[k+1]){
temp=loc[k];
loc[k]=loc[k+1];
loc[k+1]=temp;
}
}
int tmin=-1,tmax=L-loc[0],t;
int mid = (L-1)/2;
for(int i=0;i<N;i++){
if(loc[i]<=mid){
if(tmin<loc[i]+1)
tmin=loc[i]+1;
}
else{
if(tmin<L-loc[i])
tmin=L-loc[i];
break;
}
}
if(tmax<loc[N-1]+1)
tmax=loc[N-1]+1;
printf("%d %d",tmin,tmax);
}