CCF-CSP 202303-2 垦田计划 Python

不知道为什么好像网上的都是二分查找。。。

只拿了70分,不知道为什么。

def fun():
    n, m ,k = map(int,input().split())
    l = [0]*1000
    max=0
    for _ in range(n):
        a,b=map(int , input().split())
        max=a if a>max else max
        l[a]+=b
    for i in range(max,k,-1):
        if max == k :
            break;
        if m>l[i]:
            m-=l[i]
            l[i-1]+=l[i]
            max-=1
        else:
            break
    print(max)

fun()

你可能感兴趣的:(python,笔记)