Ants

洛谷 UVA10714 Ants
在这里插入图片描述
思路:首先我们考虑到,两只ants相遇时向反方向爬回,相当于两只ants交错而过继续前进。 由此,时间最短的情况为每只ants向最近端点爬去;时间最长的情况为每只ants向距离最远的端点爬去。
代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6;
int x[maxn],n,L,m;
int main(){
	cin>>m;//m表示数据组数
	while(m--){
		cin>>L>>n;
		for(int i=0;i<n;i++) cin>>x[i];
		int min_t=0;
		for(int i=0;i<n;i++)
			min_t=max(min_t,min(x[i],L-x[i]));//记录ants离最近端点的距离
		int max_t=0;
		for(int i=0;i<n;i++)
			max_t=max(max_t,max(x[i],L-x[i]));//多使用库函数max,min
		cout<<min_t<<' '<<max_t<<endl;
	}
	return 0;
}
发布了99 篇原创文章 · 获赞 44 · 访问量 5501

猜你喜欢

转载自blog.csdn.net/weixin_44413191/article/details/103974958