Description
n只蚂蚁以1cm/s的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,他们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它们当前的朝向。请计算所有蚂蚁落下竿子所需的最短时间和最长时间。
Input
输入包含多组测试用例,对于每组测试用例:
第一行输入两个数字L(1 <= L <= 106), n(1 <= n <= 106)分别代表竿子的长度 和 蚂蚁的数量。
接着输入n只蚂蚁距离竿子左端的距离xi(0 <= xi <= L)
Output
输出所有蚂蚁落下竿子所需的最短时间和最长时间,用空格隔开。每组数据占一行。
Sample Input
10 3
2 6 7
214 7
11 12 7 13 176 23 191
Sample Output
4 8 38 207#include<stdio.h> int main(){ int n,a,sum,i,length,max,min,z; while(scanf("%d %d",&length,&n)!=EOF){ sum=0; z=length/2; min=0; max=0; for(i=0;i<n;i++){ scanf("%d",&a); if(a<=z){ if(min<a){ min=a; } if(max<length-a){ max=length-a; } } else{ if(min<length-a){ min=length-a; } if(max<a){ max=a; } } } printf("%d %d\n",min,max); } return 0; }
3764

被折叠的 条评论
为什么被折叠?



