返回题解分享
讨论 / 题解分享/ 帖子详情

分巧克力(编程题) - 题解

def check(d):
    global w,h
    cnt = 0
    for i in range(n):
        cnt+=(w[i]//d)*(h[i]//d)
    if cnt>=k:
        return True
    else:
        return False




n,k = map(int,input().split())
h =[0]*(n+10)
w = [0]*(n+10)

for i in range(n):
    h[i],w[i] = map(int,input().split())

l,r = 1,100000+10
while l<r:
    mid = (l+r)//2
    if check(mid):
        l = mid+1
    else:
        r = mid
print(l-1)
0 回复 0 转发 0 喜欢 2 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!