В супермаркете существует система скидок: из двух купленных товаров полностью оплачивается только стоимость более дорогого товара, а другой предоставляется бесплатно.
Какой суммы достаточно, чтобы оплатить покупку трех товаров, если известна цена каждого?
Входные данные
Входная строка содержит три натуральных числа, разделенных пробелами: A, B, C – стоимость первого, второго и третьего товара (A, B, C ≤ 109).
Выходные данные
Выведите одно целое число – минимальную сумму, достаточную для покупки всех трех товаров.
Примеры
№ Входные данные Выходные данные
1 8 11 6 17
2 10 10 10 20
В чем именно проблема? Что пробовали делать, что получилось и что не получилось?
Не понимаю как решать
Можно прямо в лоб, перебирая все способы покупки:
min(max(a, b) + c, max(a, c) + b, max(b, c) + a)
“Run time error”
Покажите код целиком.
min(max(a, b) + c, max(a, c) + b, max(b, c) + a)
Это только сам поиск ответа. Нужно еще добавить ввод 3 чисел и вывод числа-результата.
a = (input())
b = (input())
c = (input())
min(max(a, b) + c, max(a, c) + b, max(b, c) + a)
print(a) Всё равно пишут “Run time error”
В repl it всё работает.Нужно сделать,чтобы быстрее выводилась,а я не знаю как это сделать
так надо еще ж вывести )
Я написал “print(a)”.Просто здесь почему то не написалось.
a = (input())
b = (input())
c = (input())
min(max(a, b) + c, max(a, c) + b, max(b, c) + a)
print(a)
Всё равно “Run time error”
Значит надо уточнять чего система хочет, может ввод/вывод надо в файлы например.
Но вообще вывод а
это неправильно, это просто вывод первой введенной переменной ) И еще введенные строки не превращены в числа.
А как надо сделать,просто я не понимаю(
Обычно в системах автоматической проверки есть примеры того, как считывать входные данные и выводить результат. Если 3 числа вводятся через пробел в одну строку со стандартного потока ввода, а вывод в стандартный поток вывода, то можно сделать, например, так:
a, b, c = map(int, input().split())
print(min(max(a, b) + c, max(a, c) + b, max(b, c) + a))
Благодарю