//这题的思路十分巧妙,两只蚂蚁同时反方向走,因为所有蚂蚁速度一致,可以看作是没有反向,而是继续按原方向走,直到下落...相当于将每只蚂蚁看作是独立运动的(挑战P20)
#include <iostream>
using namespace std;
const int N = 1e6 + 10;
int t, l, n;
int a[N];
void solve()
{
int mint = 0, maxt = 0;//min time, max time
for ( int i = 0; i < n; i++ )
{
mint = max ( mint, min(a[i], l - a[i]) ); //最终求的是所有蚂蚁掉下所用的时间,所以外面取max
maxt = max ( maxt, max(a[i], l - a[i]) );
}
cout << mint << " " << maxt << endl;
}
int main()
{
cin >> t;
while (t--)
{
cin >> l >> n;
for ( int i = 0; i < n; i++ ) cin >> a[i];
solve();
}
return 0;
}
poj1852 Ants
最新推荐文章于 2024-05-21 23:16:53 发布