只能过六个数据,求大佬指出问题所在
查看原帖
只能过六个数据,求大佬指出问题所在
1712190
jhlong楼主2025/7/2 20:52
import math
n,k = map(int,input().split())
arr = []
for i in range(n):
    a = int(input())
    arr.append(a)

 
arr.sort()

def find_ans(n,k):

    l,r = 0,0
    ans = [0] * 3
    sl,sr = 0,0
    while(r < n):
        
        while l <= r and arr[r] - arr[l] > k:                   
            if l > sr:
                ans[0] = r - l
                sl = l
                sr = r
            else:
                if r - l > sr - sl:
                    ans[ans.index(sr - sl)] = r - l
                    sl = l
                    sr = r
            ans.sort()
            l += 1
##            print(ans)
               
        r += 1
        
    if r  - l - 1 > ans[1]:
        ans[1] = r  - l - 1

    ans.sort()    
    return ans[1] + ans[2]

print(find_ans(n,k))

    

2025/7/2 20:52
加载中...