poj 1852 ANTS

这道题目很有意思,说是有一根杆和一群蚂蚁,输入这些蚂蚁的位置信息(距离左边),然后求出蚂蚁全部落下杆的最短和最长时间。

需要稍微想象一下,怎么样蚂蚁能以最少的时间离开杆,应该是每只蚂蚁都向距离自己比较近的那一段爬,得到最短时间,当每只蚂蚁都向

距离自己较远的一端爬时得到最大时间,当蚂蚁相遇时,忽略,直接擦肩而过就可以,这样就将题目简化了很多。

 

 

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	int n, l, cs, mx, mi, pos;
	cin >> cs;
	while (cs--)
	{
		mx = 0, mi = 0;
		cin >> l >> n;
		for (int i = 0; i<n; i++)
		{
			cin >> pos;
			mx = max(mx, max(pos, l - pos));
			mi = max(mi, min(pos, l - pos));
		}
		cout << mi << " " << mx << endl;
	}
	return 0;
}


 

你可能感兴趣的:(Algorithm,poj,ants)