链接:https://ac.nowcoder.com/acm/contest/19305/1036
题目:
有一个不断升温的杆子,上面有若干个蚂蚁,蚂蚁们需要尽快爬出这个杆子,否则就会因为高温而被烧死。这里假设每只蚂蚁行走的最大速度是 1cm/s. 当一只蚂蚁走到杆的尽头时,就会立即从秆上掉落,从而逃离热杆。我们知道每只蚂蚁在杆上的初始位置,但是,不知道蚂蚁向哪个方向前行。你的任务是计算所有蚂蚁都从杆上逃离可能的最短时间。
思路:
1.蚂蚁从杆上逃离有2种方法,一种是向上逃离,一种是向下逃离,因为要求最短的可能时间,
所以2种方法min求出每一只蚂蚁逃离杆上的最短时间。
2.因为所有蚂蚁都要从杆上逃离,所以在算出每一个蚂蚁逃离的时间后,还要求出蚂蚁逃离时间最大的那个作为所有蚂蚁都从杆上逃离可能的最短时间,max一下。\
具体见代码:
#include<bits/stdc++.h>
using namespace std;
int a[10010];
int main(){
int cm,n;
cin>>cm>>n;
int maxx=0;
for(int i=0;i<n;i++){
cin>>a[i];
maxx=max(maxx,min(cm-a[i],a[i]));
}
cout<<maxx;
return 0;
}
如果可以的话记得点个赞哦,谢谢各位大佬!!!