算法叙述:1.两只蚂蚁相遇后,认为它们保持原样继续前进也没有问题。
2.找出每只蚂蚁到端点的最长距离,max记录其中最长的距离。
3.找出每只蚂蚁到端点的最短距离,min记录其中最长的距离。
我的代码:(600+ms)
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int count,l,m,i,a;
int max=0,min=0;
while(cin>>count)
{
while(count--)
{
cin>>l>>m;
for(i=0;i<m;i++)
{
cin>>a;
if(a>max) //找出最长的时间
max=a;
if((l-a)>max)
max=l-a;
if(a>(l-a))
a=l-a; //a为每只蚂蚁的最短时间
if(a>min)
min=a; 找出最短的时间中,最长的时间
}
cout<<min<<' '<<max<<endl;
max=min=0;
}
}
return 0;
}
挑战程序设计竞赛
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int count,l,m,maxT=0,minT=0,a,i;
while(cin>>count)
{
while(count--)
{
cin>>l>>m;
for(i=0;i<m;i++)
{
cin>>a;
minT=max(minT,min(a,l-a));
maxT=max(maxT,max(a,l-a));
}
cout<<minT<<' '<<maxT<<endl;
minT=maxT=0;
}
}
return 0;
}