[题目描述]
有一个不断升温的杆子,上面有若干个蚂蚁,蚂蚁们需要尽快爬出这个杆子,否则就会因为高温而被烧死。
这里假设每只蚂蚁行走的最大速度是 1cm/s 。 当一只蚂蚁走到杆的尽头时,就会立即从秆上掉落,从而逃离热杆。
我们知道每只蚂蚁在杆上的初始位置,但是,不知道蚂蚁向哪个方向前行。你的任务是计算所有蚂蚁都从杆上逃离可能的最短时间。
输入格式:
输入共两行。
第一行包含两个整数: 杆的长度 (单位:cm) 和杆上蚂蚁数量 n。
第二行是 n 个整数给出每只蚂蚁从杆的最左边开始的位置, 而且是无序的。两个数字用空格分开。
输出格式:
输出一个整数。这个整数表示所有蚂蚁从杆上掉落可能的最短时间。
样例输入#1
10 3
2 6 7
样例输出#1
4
样例输入#2
8
10 11 10 10 10 10 10 10
样例输出#2
70
数据范围:
对于 100% 的数据,保证输入的每个整数都不大于10000 。
来源/分类(难度系数:一星)
完整代码展示:
a,b=map(int,input().split())
c=list(map(int,input().split()))
d=[]
for i in range(0,len(c)):
e=a-c[i]
if e>=a-e:
d.append(a-e)
else:
d.append(e)
d.sort()
print(d[-1])
代码解释:
“a,b=map(int,input().split()) ”,让用户输入杆的长度a和蚂蚁的数量b。
“c=list(map(int,input().split())) ”,让用户依次输入每只蚂蚁以杆的最左边为起点的初始位置,并将其储存在列表c中。
“d=[]
for i in range(0,len(c)):
e=a-c[i]
if e>=a-e:
d.append(a-e)
else:
d.append(e) ”,建立一个空列表d,依次遍历列表c中元素。令e=a-c[i],如果e>=a-e,则将a-e添加进列表d中;否则将e添加进列表d中。
“d.sort()
print(d[-1] ”,遍历结束后,对列表d中所有元素进行升序排序。最后打印d[-1],即为所有蚂蚁都从杆上逃离可能的最短时间。
运行效果展示:
(声明:以上内容均为原创)