Вопрос:

Программа получает на вход три числа А, В, С, записанных в отдельных строках, — массы друзей. В четвёртой строке записано число D — наибольшая допустимая разница масс на концах качелей. Все числа — целые, положительные и не превосходящие 10^9. Программа должна вывести одно целое число — минимальную необходимую массу камня, которую нужно добавить на одну из сторон качелей, чтобы друзья смогли покачаться на них, сев оптимально. Если камень им не понадобится, программа должна вывести число 0.

Ответ:

Для решения этой задачи необходимо проанализировать все возможные комбинации посадки друзей на качели и определить, в каком случае потребуется минимальная масса камня, чтобы удовлетворить условию допустимой разницы масс. Обозначим массы друзей как A, B и C, а допустимую разницу масс как D.

Рассмотрим все возможные способы рассадки друзей на качелях:

  1. Друзья A и B на концах качелей, а друг C – камень:
    • Разница масс |A - B|. Если |A - B| > D, то нужен камень.
  2. Друзья A и C на концах качелей, а друг B – камень:
    • Разница масс |A - C|. Если |A - C| > D, то нужен камень.
  3. Друзья B и C на концах качелей, а друг A – камень:
    • Разница масс |B - C|. Если |B - C| > D, то нужен камень.
  4. Один друг на одной стороне качелей, два других на другой:
    • A с одной стороны, B и C с другой: |A - (B + C)|.
    • B с одной стороны, A и C с другой: |B - (A + C)|.
    • C с одной стороны, A и B с другой: |C - (A + B)|.

Для каждого из этих случаев, если разница масс превышает D, нужно добавить камень. Массу камня можно рассчитать как:

$$mass_{stone} = max(0, |mass_{left} - mass_{right}| - D)$$

Где (mass_{left}) и (mass_{right}) - массы на левой и правой сторонах качелей соответственно.

Нам нужно найти минимальную массу камня среди всех возможных вариантов рассадки.

Решение:

  1. Рассчитать все возможные разницы масс без камня.
  2. Если разница масс больше D, рассчитать необходимую массу камня.
  3. Выбрать минимальную массу камня среди всех вариантов.
  4. Если ни в одном из вариантов камень не нужен (разница масс не превышает D), то ответ 0.

Например, если A = 10, B = 5, C = 3, D = 6:

  1. |A - B| = |10 - 5| = 5 ≤ 6. Камень не нужен.
  2. |A - C| = |10 - 3| = 7 > 6. Нужен камень массой 7 - 6 = 1.
  3. |B - C| = |5 - 3| = 2 ≤ 6. Камень не нужен.
  4. |A - (B + C)| = |10 - (5 + 3)| = |10 - 8| = 2 ≤ 6. Камень не нужен.
  5. |B - (A + C)| = |5 - (10 + 3)| = |5 - 13| = 8 > 6. Нужен камень массой 8 - 6 = 2.
  6. |C - (A + B)| = |3 - (10 + 5)| = |3 - 15| = 12 > 6. Нужен камень массой 12 - 6 = 6.

Минимальная масса камня равна 1.

Ответ: Минимальная необходимая масса камня, которую нужно добавить на одну из сторон качелей, чтобы друзья смогли покачаться на них, сев оптимально, равна 1.

Смотреть решения всех заданий с листа
Подать жалобу Правообладателю

Похожие