Розв’язок задачі з програмування Кількість елементів, що діляться на три
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)