kick start 2020 round A workout Python solution

题目链接 round A workout

import math 
T=int(input())
for i in range(T):
    N,K=[int(s) for s in input().split(" ")] 
    session=[int(s) for s in input().split(" ")]
    sess_diff=[session[x+1]-session[x] for x in range(len(session)-1)]
    
    di_max=max(sess_diff)
    ll=1
    rr=di_max
    while ll<rr: 
        mid=int((ll+rr)/2)
        if sum(map(lambda x: math.ceil(x/mid)-1,sess_diff)) <= K:
            rr=mid
        else:
            ll=mid+1 
    ans=ll

    print("Case #{}: {}".format(i+1, ans)) 



发布了20 篇原创文章 · 获赞 13 · 访问量 6875
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览