• Треугольник из палочек

    Ограничение по времени: 1

    1 секунда

    У Тимофея есть три палочки с натуральными длинами a

    a, b

    b и c

    c, из которых можно сложить треугольник. За одну операцию мальчик отламывает от каждой палочки по кусочку единичной длины. Спустя какое минимальное количество операций из палочек уже нельзя будет сложить треугольник?

    Для определённости считайте, что от палочки единичной длины можно отломить кусок длины 1

    1, после чего палочка исчезнет.

    Формат входных данных

    Три строки входного файла содержат три натуральных числа a

    a, b

    b и c

    c (1≤a,b,c≤10

    9

    )

    (1≤a,b,c≤109). Гарантируется неравенство треугольника для указанных длин.

    Формат выходных данных

    Выведите одно натуральное число —

    — ответ на вопрос задачи.

    Система оценки

    Решения, правильно работающие для равных a

    a, b

    b и c

    c, будут оцениваться в 10

    10 баллов.

    Решения, правильно работающие для a

    a, b

    b и c

    c, не превосходящих 10

    5

    105, будут оцениваться в 40

    40 баллов.

    Пояснение

    В примере дано a=10

    a=10, b=18

    b=18 и c=12

    c=12. Три операции спустя длины сторон окажутся равны 7

    7, 15

    15 и 9

    9 (треугольник можно сложить в последний раз). А вот после четвёртой операции длины палочек составят 6

    6, 14

    14 и 8

    8, и треугольник окажется вырожденным.

Ответы 1

  • a = int(input())

    b = int(input())

    c = int(input())

    a, b, c = min(a, b, c), a + b + c - min(a, b, c) - max(a, b, c), max(a, b, c)

    ans = 0

    step = 10 ** 9

    while step > 1:

    while a - ans + b - ans > c - ans:

    ans += step

    ans -= 2 * step

    step //= 10

    while a - ans + b - ans > c - ans:

    ans += step

    print(ans)

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years