Вопрос задан 20.02.2025 в 20:10. Предмет Информатика. Спрашивает Барсова Екатерина.

Задача 1. Компот (20 баллов)
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
У Николая есть a лимонов, b яблок и c груш. Он решил приготовить из них
компот. По рецепту фрукты должны быть в соотношении 1 : 2 : 4, то есть на каж-
дый лимон в компоте должно быть ровно два яблока и ровно 4 груши. При этом
фрукты нельзя измельчать, ломать или разрезать, поэтому в компот обязательно
должны попасть целиком фрукты — лимоны, яблоки и груши.
Перед вами стоит задача определить максимальное суммарное количество ли-
монов, яблок и груш, из которых можно сварить компот по рецепту. Возможна
ситуация, когда Николай не сможет для приготовления компота использовать ни
одного фрукта, в таком случае выведите 0.
Формат входных данных
В первой строке следует целое положительное число a (1 ⩽ a ⩽ 1000) — коли-
чество лимонов, которые есть у Николая.
Во второй строке следует целое положительное число b (1 ⩽ b ⩽ 1000) — коли-
чество яблок, которые есть у Николая.
В третьей строке следует целое положительное число c (1 ⩽ c ⩽ 1000) — коли-
чество груш, которые есть у Николая.
Формат выходных данных
Выведите максимальное суммарное количество лимонов, яблок и груш, из ко-
торых можно сварить компот по рецепту.
Примеры
стандартный ввод стандартный вывод
2
5
7
7
4
7
13
21
2
3
2
0
Замечание
В первом примере Николай может использовать для приготовления компота 1
лимон, 2 яблока и 4 груши, поэтому ответ 1 + 2 + 4 = 7.
Во втором примере Николай может использовать для приготовления компота 3
лимона, 6 яблок и 12 груш, поэтому ответ 3 + 6 + 12 = 21.
В третьей примере Николаю не хватит груш, чтобы приготовить сколько-нибудь
компота, поэтому ответ 0.

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

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

Отвечает Абрамова Даша.

Для того, чтобы решить задачу, нам нужно учитывать рецепт компота, который требует соблюдения пропорции: на 1 лимон должно быть 2 яблока и 4 груши. Мы имеем три типа фруктов: лимоны (a), яблоки (b) и груши (c), и нужно найти максимальное количество фруктов, которое можно использовать для приготовления компота по этим пропорциям.

Подход к решению

  1. Пропорции: Из условия задачи следует, что на каждый лимон нужно:

    • 2 яблока
    • 4 груши
  2. Ограничения:

    • Чтобы использовать xx лимонов для компота, нам нужно:
      • 2×x2 \times x яблок
      • 4×x4 \times x груш
  3. Идея:

    • Мы ищем максимальное число xx лимонов, которое можно использовать так, чтобы для этого хватило яблок и груш.
    • Для этого нужно, чтобы выполнялись следующие условия:
      • xax \leq a (лимонов не больше, чем есть),
      • 2×xb2 \times x \leq b (яблок должно быть не меньше, чем 2×x2 \times x),
      • 4×xc4 \times x \leq c (груш должно быть не меньше, чем 4×x4 \times x).
  4. Поиск максимального xx:

    • Мы можем вычислить максимальное количество лимонов xx, которое возможно по каждой из трех пропорций:
      • xax \leq a,
      • xb2x \leq \frac{b}{2},
      • xc4x \leq \frac{c}{4}.
    • Максимально возможное количество лимонов xx будет минимальным из этих трех значений.
  5. Результат:

    • Если мы нашли xx, то суммарное количество фруктов, которое можно использовать, будет равно:
      • xx лимонов,
      • 2×x2 \times x яблок,
      • 4×x4 \times x груш.
    • То есть, итоговое количество фруктов x+2x+4x=7xx + 2x + 4x = 7x.
  6. Реализация:

    • Нам нужно просто найти минимальное значение из трех возможных: aa, b2\frac{b}{2}, c4\frac{c}{4}.
    • Если xx больше нуля, выводим 7×x7 \times x, иначе выводим 0.

Реализация на Python

python
# Ввод данных a = int(input()) b = int(input()) c = int(input())

# Находим максимальное количество лимонов, которые можно использовать x = min(a, b // 2, c // 4)

# Выводим результат print(7 * x)

Пояснение:

  1. В строках ввода мы получаем количество лимонов (a), яблок (b) и груш (c).
  2. Мы вычисляем минимальное значение из aa, b2\frac{b}{2} и c4\frac{c}{4}, что и будет максимальным возможным количеством лимонов, которое можно использовать по рецепту.
  3. Умножаем это значение xx на 7, так как для каждого лимона мы используем еще два яблока и четыре груши, чтобы получить общее количество фруктов.
  4. Выводим результат.

Примеры:

Пример 1:

Ввод:

2 5 7

Пояснение:

  • Максимальное количество лимонов xx = min(2, 5 // 2, 7 // 4) = min(2, 2, 1) = 1.
  • Тогда ответ: 7 * 1 = 7.

Вывод:

7

Пример 2:

Ввод:

7 4 7

Пояснение:

  • Максимальное количество лимонов xx = min(7, 4 // 2, 7 // 4) = min(7, 2, 1) = 1.
  • Тогда ответ: 7 * 1 = 7.

Вывод:

7

Пример 3:

Ввод:

3 2 2

Пояснение:

  • Максимальное количество лимонов xx = min(3, 2 // 2, 2 // 4) = min(3, 1, 0) = 0.
  • Так как x=0x = 0, значит компот сделать невозможно.

Вывод:

0

Время выполнения:

Так как все операции — это простые арифметические вычисления и поиск минимального значения, время выполнения этого алгоритма будет O(1)O(1), что очень эффективно для данного ограничения задачи.

Заключение:

Мы успешно решили задачу, соблюдая пропорции фруктов для компота, и вывели максимальное количество фруктов, которое можно использовать по рецепту.

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

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

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

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