Розв’язок олімпіадної задачі з програмування “Степан і похід в магазин”

Розв’язок олімпіадної задачі з програмування “Кількість елементів, що ділятьяс на три”
19 Листопада, 2019
Розв’язок олімпіадної задачі з програмування “Турист Василь”
20 Листопада, 2019

Розв'язок олімпіадної задачі пробного туру з програмування 2019 року "Степан і похід в магазин"

Використовується мова програмування Python 3

Степан і похід в магазин

Сьогодні Степан чекає в гості свого друга Василя. Щоб підготуватися до зустрічі, Степану необхідно відвідати два магазини, розташованих поряд з його будинком. Від будинку до першого магазину веде доріжка довжини d1 метрів, а до другого магазину веде доріжка довжини d2 метрів. Також існує доріжка, безпосередньо сполучає два магазини один з одним, довжиною d3 метрів. Допоможіть Степану обчислити мінімальну відстань, яку йому буде потрібно пройти, щоб відвідати обидва магазини і повернутися додому. Степан завжди стартує зі свого будинку. Він повинен відвідати обидва магазини, переміщаючись тільки за наявними трьома доріжками, і повернутися назад додому. При цьому його абсолютно не збентежить, якщо йому доведеться відвідати один і той же магазин або пройти по одній і тій же доріжці більше одного разу. Єдине його завдання - мінімізувати сумарну пройдену відстань.

Формат вхідних даних:

У першому рядку вхідних даних знаходяться три цілих числа d1, d2, d3 (1 ≤ d1, d2, d3 ≤ 108) - довжини доріжок.

  • d1 - довжина доріжки, з'єднує будинок Степана і перший магазин;
  • d2 - довжина доріжки, з'єднує будинок Степана і другий магазин;
  • d3 - довжина доріжки, що з'єднує два магазина.

Формат вихідних даних:

Виведіть мінімальну кількість метрів, яку доведеться пройти Степану, щоб відвідати обидва магазини і повернутися додому.

Examples

Input

10 20 30

Output

60

Обмеження

Full score: 100

Time limit: 100 ms

Real time limit: 5 s

Memory limit: 64M

Розв'язок

Правильність розв'язку - 100/100

d1, d2, d3 = map(int, input().split())
if d1+d2<d3:
    print (2*(d1+d2))
elif d1+d3<d2:
    print (2*(d1+d3))
elif d2+d3<d1:
    print(2*(d3+d2))
else:
    print (d1+d2+d3)

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *