Вопрос задан 27.03.2025 в 21:12. Предмет Информатика. Спрашивает Тамарков Кирилл.

Задача 1 Витя подключен к интернет по следующему тарифному плану. Ежемесячная абонентская плата составляет A рублей, и в эту абонентскую плату включено B мегабайт трафика. Неизрасходованные мегабайты в конце месяца «сгорают». Если трафик превышает B мегабайт, то каждый мегабайт трафика сверх предоплаченных стоит C рублей. Известно, что за прошлый месяц Витя израсходовал D мегабайт трафика. Определите, во сколько обошелся ему доступ в интернет в прошлом месяце (считая в том числе и абонентскую плату)?
Входные данные
Вводятся четыре натуральных числа A, B, C, D в одной строке. Все числа не превышают 100.
Выходные данные
Выведите одно число — сумму (в рублях), которую Витя должен заплатить за интернет.
Примеры
Ввод Вывод
100 10 12 15 160
100 10 12 1 100

Перейти к ответам

Ответы на вопрос

Отвечает Хамидуллова Диана.

Давайте разберем задачу подробно.

Условие задачи

  1. Витя подключен к интернету с тарифным планом:

    • Абонентская плата A рублей в месяц.
    • В абонентскую плату включено B мегабайт трафика.
    • Если трафик превышает B мегабайт, то каждый дополнительный мегабайт стоит C рублей.
    • Неиспользованный трафик сгорает.
  2. За прошлый месяц Витя израсходовал D мегабайт.

  3. Нужно определить общую сумму, которую Витя должен заплатить за интернет.


Решение

Чтобы вычислить сумму, которая будет потрачена:

  1. Если D ≤ B (использованный трафик не превышает включенный):

    • Витя платит только абонентскую плату A.
  2. Если D > B (использованный трафик превышает включенный):

    • Сначала Витя тратит включенные в тариф B мегабайт — это уже включено в стоимость A.
    • Дополнительно он платит за оставшиеся D - B мегабайт, которые стоят C рублей за каждый.
    • Общая стоимость: A+(DB)CA + (D - B) \cdot C.

Формула

Общая сумма вычисляется так:

Сумма=A+max(0,DB)C\text{Сумма} = A + \max(0, D - B) \cdot C

Где:

  • max(0,DB)\max(0, D - B) учитывает, что если Витя не превысил лимит, то доплата равна 0.

Пример 1

Ввод:

100 10 12 15

Объяснение:

  • Абонентская плата: 100 рублей.
  • Лимит: 10 мегабайт.
  • Стоимость дополнительных мегабайт: 12 рублей за мегабайт.
  • Витя использовал 15 мегабайт.

Вычисления:

  1. D>BD > B, т.е. 15>1015 > 10.
  2. Превышение: DB=1510=5D - B = 15 - 10 = 5 мегабайт.
  3. Стоимость превышения: 512=605 \cdot 12 = 60 рублей.
  4. Общая сумма: 100+60=160100 + 60 = 160 рублей.

Вывод:

160

Пример 2

Ввод:

100 10 12 1

Объяснение:

  • Абонентская плата: 100 рублей.
  • Лимит: 10 мегабайт.
  • Витя использовал 1 мегабайт, который меньше лимита.

Вычисления:

  1. DBD \leq B, т.е. 1101 \leq 10.
  2. Превышения нет, платится только абонентская плата.
  3. Общая сумма: 100100.

Вывод:

100

Итог

Алгоритм:

  1. Считать входные данные A,B,C,DA, B, C, D.
  2. Проверить, превышает ли DD лимит BB.
  3. Рассчитать стоимость по формуле: A+max(0,DB)CA + \max(0, D - B) \cdot C.
  4. Вывести результат.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос