4 条题解

  • 1
    @ 2024-5-24 15:15:40
    n,m=map(int,input().split())
    a=list(map(int,input().strip().split()))
    for i in range(n-1):
        for j in range(i+1,n):
            if a[j]<a[i]:
                a[j],a[i]=a[i],a[j]
    l=a[0];r=a[n-1]
    def check(x):
        ans=0
        for i in range(n):
            if a[i]>x:
                ans+=a[i]-x
        if ans>=m:
            return True
        else:
            return False
    while l<=r:
        mid=(l+r)//2
        if check(mid)==True:
            l=mid+1
        else:
            r=mid-1
    print(l-1)
    
    • @ 2024-5-24 15:19:11

      寄了洗很遗憾

信息

ID
805
时间
1000ms
内存
256MiB
难度
3
标签
递交数
461
已通过
249
上传者