//n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。蚂蚁到端点时会掉落,两只蚂蚁相遇时,不能交错通过,只能各自反向爬回去。
//我们知道它距离竿子左端的距离xi,但不知道它当前的方向。请计算所有蚂蚁落下竿子所需的最短时间和最长时间
//input
// L=10
// n=3
// x=[2,6,7]
//output
// min=4
// max=8
#include "iostream"
using namespace std;
const int MAX_N=1000;
int L,n;
int x[MAX_N];
int max(int a,int b)
{
return a>b?a:b;
}
int min(int a,int b)
{
return a>b?b:a;
}
void solve()
{
int mi=0;
for(int i=0;i<n;i++)
{
mi=max(mi,min(x[i],L-x[i]));
}
int ma=0;
for(int i=0;i<n;i++)
{
ma=max(ma,max(x[i],L-x[i]));
}
cout<<"min="<<mi<<endl;
cout<<"max="<<ma<<endl;
}
int main(int argc, char const *argv[])
{
cin>>L>>n;
for(int i=0;i<n;i++)
{
cin>>x[i];
}
solve();
return 0;
}
主要考虑到蚂蚁都是一样的,所以两只蚂蚁相遇可以看作蚂蚁保持原样交错而过