NYOJ 971 爬行的蚂蚁
爬行的蚂蚁
时间限制: 1000 ms | 内存限制: 65535 KB 难度: 2- 描述
- 有N只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离杆子左端的距离Xi,但不知道它当前的朝向。请计算所有蚂蚁都从竿子上掉落所需的最短时间和最长时间。
- 输入
- 多组测试数据。
每组数据包含两行,第一行包含2个整数N、L。(1≤N,L≤10^6)。
接下来一行有N个整数Xi(0≤Xi≤L),Xi表示第i只蚂蚁距离竿子左端点的距离。 输出 - 每组数据输出两行,格式见样例。每两组数据之间输出一个换行。 样例输入
-
3 10 2 6 7 6 100 25 20 50 38 42 15
样例输出 -
The minimum time is: 4 The maximum time is: 8The minimum time is: 50 The maximum time is: 85
- 多组测试数据。
maxT=max(maxT,max(d[i],L-d[i]));//寻找较大距离的最大为最长时间
minT=max(minT,min(d[i],L-d[i])); //寻找较小距离的最大为最短时间
(注意忽略掉蚂蚁的不同,不考虑相撞转向行为)
#include
int max(int m,int n);
int min(int m,int n);
int d[90000];
int main()
{int N,L,i,maxT,minT;while(scanf("%d%d",&N,&L)!=-1){i=0,maxT=0,minT=0;while(in?m:n;
}
int min(int m,int n)
{return m
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
