1 #include <iostream>
2 #include <cstdio>
3 #include <cstring>
4 using namespace std;
5
6 /*题意:求所有蚂蚁走下长杆的最长时间和最短时间*/
7
8 /*最短时间:先求出每个蚂蚁走下杆的最短时间。然后求出最短时间的最大值
9 最长时间:先求每个蚂蚁走下杆的最长时间。然后求出最长时间的最大值*/
10
11 int max(int a,int b){
12 if (a > b)return a;
13 else
14 return b;
15 }
16 int min(int a,int b){
17 if(a < b)return a;
18 else return b;
19 }
20 class Ant{
21 private:
22 int poleLenth;
23 int antNum;
24 int minTime ;
25 int maxTime ;
26 public:
27 void readData();
28 void process();
29 };
30 void Ant::readData(){
31 int cases;
32 scanf("%d",&cases);
33 while(cases--){
34 minTime = -1;
35 maxTime = -1;
36 scanf("%d%d",&poleLenth,&antNum);
37 for(int i = 0;i < antNum;i++){
38 process();
39 }
40 cout<<minTime<<" "<<maxTime<<endl;
41 }
42 }
43 void Ant::process(){
44 int local;
45 scanf("%d",&local);
46 minTime = max(minTime,min(local,poleLenth - local));
47 maxTime = max(maxTime,max(local,poleLenth - local));
48 }
49
50 int main()
51 {
52 Ant ant;
53 ant.readData();
54 return 0;
55 }