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 }