ACM赛制
题目
擂台赛要开始了,现在有 n名战士,其中第 i\mathit ii 名战士的战斗力为 ai。现在准备从这些战士中挑两名战士进入擂台赛进行对战,由于观众们更喜欢看势均力敌的比赛,所以我们也要挑选两个战斗力尽可能相近的战士进行参赛。那么现在请问,战斗力最接近的两名战士,战斗力之差为多少?
输入描述:
第一行输入一行一个正整数n表示战士的数量。 第二行输入n个正整数表示每名战士的战斗力。
输出描述:
输出一行一个正整数表示答案。
示例1
输入
3 3 5 5
输出
0
说明
选择两名战斗力为 5 的战士,战斗力之差为 0。
示例2
输入
5 1 10 4 9 6
输出
1
说明
选择战斗力为 10 和 9 两名战士,战斗力的差值为 1。
代码
import sys
t=[]
de=[]
i=0
num=[]
n=-1
d1=-1
for line in sys.stdin:
a = line.split('\n')
t.append(a[0])
if len(t)==2:
number = t[1].split()
num = [int(nu) for nu in number]
n=int(t[0])
break
if len(num)==n:
num.sort(reverse=True)
min_1=num[0]
for i in range(0,n):
if i<=n-2:
min_1=min(min_1,abs(num[i]-(num[i+1])))
print(min_1)