-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathG - 蚂蚁.cpp
97 lines (92 loc) · 1.61 KB
/
G - 蚂蚁.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
///*
//n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。
//当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,
//两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。
//对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。
//请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。
//
//*/
//
//#include<iostream>
//#include<cstdio>
//#include<cstring>
//#include<algorithm>
//using namespace std;
//int n,l;
//
//class Ant{
// public:
// int z;//坐标,距离左端
// int f;//方向 -1左,1右
// bool operator<(const Ant& a){
// return z<a.z;
// }
//};
//int main(){
// cin>>n>>l;
// Ant ants[n];
//
// for(int i=0;i<n;++i){
// cin>>ants[i].z;
// ants[i].f=((i-n/2)>=0?1:-1);
// }
// sort(ants,ants+n);
//
// if(n%2==0){
// cout<<(max(min(ants[n/2].z,l-ants[n/2].z),min(ants[n/2+1].z,l-ants[n/2+1].z)));
// }else{
// cout<<min(ants[n/2].z,l-ants[n/2].z);
// }
//
// //最长
// int nums=n;
// double time=0;
// while(nums--){
//
//
//
// }
//
//
//
//
// return 0;
//}
#include<iostream>
using namespace std;
int main(){
ios::sync_with_stdio(false);//去缓存
int n,l;
cin>>n>>l;
int t;//坐标
int minl=-1;
int maxl=-1;
for(int i=0;i<n;++i){
cin>>t;
//全部下去,每个选择最接近端的一个
minl=max(minl,min(t,l-t));
//每个选择最远离端
maxl=max(maxl,max(t,l-t));
}
cout<<minl<<" "<<maxl<<endl;
return 0;
}
//const int MAX_N=50005;
//int n,s;
//int Min,Max;
//
//int main()
//{
// ios::sync_with_stdio(false);
// cin>>n>>s;
// for(int i=0,x;i<n;++i)
// {
// cin>>x;
//
// Min=max(Min,min(x,s-x));
// Max=max(Max,max(x,s-x));
// }
// cout<<Min<<" "<<Max<<endl;
//
// return 0;
//}