题解 | #小红关鸡#

小红关鸡

https://www.nowcoder.com/practice/5982b0bfe2fe4ed2a872fd5383271f5f

先将坐标排序,然后用双指针找到长度不超过k的区间中包含最多鸡窝的数量,最后用该最大数除以n得到概率。

import sys
data=sys.stdin.read().split()
it=iter(data)

MOD=1e9+7
MOD2=998244353
def solve():
    n,k=int(next(it)),int(next(it))
    a=[int(next(it)) for i in range(n)]
    a.sort()
    ans=0
    j=0
    for i in range(n):
        while j<n and a[j]-a[i]<=k:
            j+=1
        if j-i>ans:
            ans=j-i
    print(ans/n)

if __name__=="__main__":
    _=1
    #_=int(next(it))
    for __ in range(_):
        solve()
全部评论

相关推荐

04-13 11:19
门头沟学院 HTML5
NullPointe...:27实习的都快结束了吧
点赞 评论 收藏
分享
牛客100866号技...:把电科加粗,把电科加粗,把电科加粗,两个吊车尾的项目合并成一个,再加一个管理系统。电科✌🏻在成都面中厂手拿把掐
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务