个人理解
题目来源:牛客网 dd作为集训队的队长,一直掌管着集训室的空调遥控器,她需要调整温度使队员们更好地进入训练状态,已知集训室一共有nn名队员,每位队员都有一个温度诉求aiai,当室内温度为KK时,当且仅当|a[i]-K|≤p∣a[i]−K∣≤p时,这个队员能够正常进入训练状态,否则就会开始躁动,作为队长,dddd需要调整好温度,她想知道,在最佳情况下,最多有多少队员同时进入训练状态。
输入描述:
第一行两个数n,p(1≤n,p≤1000000),含义如题面描述。
接下来一行n个数ai表示每个队员的温度诉求。
输出描述:
输出一个数字,表示最多有多少队员同时进入训练状态。
示例1
输入
6 2
1 5 3 2 4 6
输出
5
说明
温度调成3或4,都可以满足5名队员同时进入训练状态
n,p=map(int,input().split())
ls1=input()
ls1=ls1.split()
ls1=[int(ls1[i]) for i in range(len(ls1))] #将队员的温度诉求存入列表
ls2=[]
for i in range(n):
ls2.append(i) #建立一个存放队员温度诉求于实际温度的差值
b=min(ls1)
c=max(ls1)
z=0
for i in range(b,c):
count=0
for j in range(n):
ls2[j]=abs(ls1[j]-i) #计算差值并存入ls2
for k in ls2:
if k<=p:
count=count+1 #统计可以进入训练状态的队员人数
if count>z: #选取可以进入训练状态数量最多时的人数
z=count
print(z)
以上为个人理解,样例通过但运行未通过,求大神指点



