Оптом – дешевле! в москве начал работать новый оператор сотовой связи, предоставляющий доступ в интернет посредством технологии 3g. новый оператор предлагает простые и невысокие тарифы, в частности, один мегабайт интернет-трафика стоит 1 рубль. кроме того, оператор предлагает покупать оптовые пакеты трафика – есть два предложения: купить пакет трафика на a мегабайт за b рублей и купить пакет трафика на c мегабайт за d рублей. таня планирует использовать в течение месяца n мегабайт интернет-трафика. определите минимальную сумму, которую придётся ей заплатить. таня может приобретать любое количество каждых из двух предлагаемых пакетов, а также оплачивать трафик по тарифу «1 рубль за мегабайт». таня может приобретать пакеты интернет-трафика и в том случае, если суммарный оплаченный трафик будет более n мегабайт, если это выйдет дешевле. программа получает на вход пять натуральных чисел n, a, b, c, d, записанных в отдельных строках, не превосходящих 500 000 каждое. гарантируется, что a > b и c > d. программа должна вывести одно целое число – минимальную сумму, которую нужно заплатить для приобретения n мегабайт трафика ввод 35 10 9 20 17 вывод 31 примечание пакет на 10 мегабайт стоит 9 рублей, пакет на 20 мегабайт стоит 17 рублей. для оплаты 35 мегабайт нужно купить пакет на 10 мегабайт и пакет на 20 мегабайт, а за оставшиеся 5 мегабайт заплатить 5 рублей. ввод 55 30 20 20 16 вывод 40 примечание пакет на 30 мегабайт стоит 20 рублей, пакет на 20 мегабайт стоит 16 рублей. для оплаты 55 мегабайт нужно купить два пакета на 30 мегабайт, что суммарно будет стоить 40 рублей. на паскале
Первое, что нужно сделать, это посчитать сколько мегабайт трафика Таня сможет приобрести за помощью каждого из пакетов. Для этого нам нужно разделить количество рублей в пакете на стоимость одного мегабайта интернет-трафика.
Таким образом, для первого пакета получится, что за стоимость b рублей Таня сможет приобрести b мегабайт (получаем, что b мегабайт стоят b рублей).
Аналогично, для второго пакета получим, что за стоимость d рублей Таня сможет приобрести d мегабайт (получаем, что d мегабайт стоят d рублей).
Далее, нужно посмотреть, какое количество пакетов Тане нужно приобрести, чтобы оно было достаточным для ее потребностей. Для этого сначала найдем максимальное количество пакетов первого типа (a мегабайт) такое, что сумма пакетов не превышает n (количество мегабайт). Для этого нужно разделить n на a и взять целую часть от деления (получаем, что количество пакетов первого типа - это n // a).
Также посмотрим, сколько мегабайт Тане осталось после покупки всех таких пакетов первого типа. Для этого нужно найти остаток от деления n на a (получаем, что остаток мегабайт - это n % a).
Аналогично, найдем максимальное количество пакетов второго типа (c мегабайт) такое, что сумма пакетов не превышает остаток мегабайт. Для этого нужно разделить остаток мегабайт на c и взять целую часть от деления (получаем, что количество пакетов второго типа - это остаток мегабайт // c).
Также нужно посмотреть, сколько мегабайт Тане осталось после покупки всех таких пакетов второго типа. Для этого нужно найти остаток от деления остатка мегабайт на c (получаем, что остаток мегабайт - это остаток мегабайт % c).
После всех этих действий остаток мегабайт, который у нас остался, мы можем оплатить по тарифу "1 рубль за мегабайт". Получим, что сумма за остаток мегабайт будет равна остаток мегабайт * 1 (получаем, что сумма за остаток мегабайт - это остаток мегабайт * 1).
Теперь, чтобы найти минимальную сумму, Тане нужно придется заплатить, нужно сложить стоимость всех пакетов и сумму за остаток мегабайт. Получим, что минимальная сумма будет равна (количество пакетов первого типа * b) + (количество пакетов второго типа * d) + (остаток мегабайт * 1).
Проиллюстрируем это на примере:
Введем числа:
n = 35 (количество мегабайт)
a = 10 (количество мегабайт в пакете первого типа)
b = 9 (стоимость пакета первого типа)
c = 20 (количество мегабайт в пакете второго типа)
d = 17 (стоимость пакета второго типа)
Теперь посчитаем:
количество пакетов первого типа = n // a = 35 // 10 = 3
остаток мегабайт = n % a = 35 % 10 = 5
количество пакетов второго типа = остаток мегабайт // c = 5 // 20 = 0
остаток мегабайт = остаток мегабайт % c = 5 % 20 = 5
сумма за остаток мегабайт = остаток мегабайт * 1 = 5 * 1 = 5
минимальная сумма = (количество пакетов первого типа * b) + (количество пакетов второго типа * d) + (сумма за остаток мегабайт) = (3 * 9) + (0 * 17) + 5 = 31
Таким образом, минимальная сумма, которую Тане придется заплатить, равна 31 рубль.
Надеюсь, данное пояснение помогло вам разобраться в задаче! Если у вас остались какие-либо вопросы, не стесняйтесь задавать их.