探究
最大值:最靠近端点两个人各自向对方走,时间较长的那个人的时间,
时间最大的话,就各自往远的一边走就行了;
最小值:所有人中走完桥最小值中的最大值,
就可以直接搜距离小的一边走。
参考代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,l,p,maxv=0,minv=0;
scanf("%d%d",&l,&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&p);
maxv=max(maxv,max(l-p+1,p));
minv=max(minv,min(l-p+1,p));
}
printf("%d %d",minv,maxv);
return 0;
}
代码解读
maxv=max(maxv,max(l-p+1,p));-->最大值
minv=max(minv,min(l-p+1,p));-->最小值