POJ-1852-Ants

题目链接

http://poj.org/problem?id=1852

n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点就会掉落。由于竿子太细,两只蚂蚁相遇时,他们不能交错通过,

只能各自反相爬回去,对于蚂蚁,我们知道他距竿子左端的距离xi,  但不知道他当前的朝向。请计算所有蚂蚁落下竿子所需的最短时间和最长时间。

Sample Input

2
10 3
2 6 7
214 7
11 12 7 13 176 23 191

Sample Output

4 8
38 207


代码

#include<iostream>
#include<cstdio>
using namespace std;

int a[1000005];

int main(void)
{
int t,n,m;
int i,j,k;
scanf("%d",&t);
while(t--)
{
int minn=0,maxx=0;
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
{
scanf("%d",a+i);
minn=max(minn,min(n-a[i],a[i]));
maxx=max(maxx,max(n-a[i],a[i]));
}
printf("%d %d\n",minn,maxx);
}
return 0;
}




posted @ 2014-10-15 21:13  立刻行动  阅读(124)  评论(0编辑  收藏  举报