Участник:FominaAnna873/Drop Testing

Материал из DISCOPAL
Перейти к: навигация, поиск

задача: https://www.codechef.com/problems/CLDROP

def b_sum(d, n, h):
    res = 0
    aux = 1.0
    for i in range(1, n):
        aux = aux * (d + 1 - i)
        aux = aux / i
        res = res + aux
        if res > h:
            break
    return res
 
def drop(n, h):
    r = h
    l = 0
    m = (r + l) / 2
    while r - l > 1:
        m = l + (r - l) / 2
        if b_sum(m, n, h) < h:
            l = m
        else:
            r = m
    return int(l + 1)
 
t = int(input())
for i in range(t):
    n, h = map(int, input().split())
    print(drop(n, h))