g = int(input())
f = int(input())
A = int(input())
if (g < 8) or (f > A):
print("YES")
else:
print("NO")
Программу запускали 9 раз, при этом переменные g и f вводились парой чисел:
(3, 2); (11, 12); (–12, 8); (2, –2); (–10, 10); (5, 5); (12, 8); (11, 10); (8, 10).
Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает YES пять раз.
Хочу подробное решение по шагам.
Задача и разбор условий
- Программа печатает YES, если (g < 8) или (f > A).
- В 9 запусках пары (g, f):
1) (3, 2)
2) (11, 12)
3) (-12, 8)
4) (2, -2)
5) (-10, 10)
6) (5, 5)
7) (12, 8)
8) (11, 10)
9) (8, 10)
1) Какие запуски дают YES независимо от A
- Условия граничной части: g < 8 делает YES автоматически.
- Пары с g < 8: 1, 3, 4, 5, 6.
Итого 5 запусков дадут YES без учета A.
2) Остальные запуски зависят от A
- Пары 2, 7, 8, 9 имеют g >= 8, поэтому YES будет достигаться, если f > A.
Их f-значения: 12, 8, 10, 10 соответственно.
Чтобы всего получилось ровно 5 YES, нужно, чтобы в этих четырех случаях YES не случались. То есть для каждого из них должно выполняться f <= A.
3) Найдем минимальное A
- Необходимо одновременно: A >= 12 (чтобы в случае 2 не было YES), а также A >= 8 и A >= 10 для остальных. Достаточно взять A >= 12.
- Минимальное целое такое число — A = 12.
Проверка при A = 12
- Case 2: f > A? 12 > 12 — ложь → NO
- Case 7: 8 > 12 — ложь → NO
- Case 8: 10 > 12 — ложь → NO
- Case 9: 10 > 12 — ложь → NO
- Остальные случаи (1,3,4,5,6) уже YES независимо от A.
Итого YES произойдет ровно 5 раз (без учета остальных четырех, которые дали NO). Это и требуемый минимальный A.
Ответ: 12
Дополнительная заметка
- Любое значение A > 12 приведет к тем же результатам (поскольку f > A останется ложью для всех четверых), но минимально возможное равно 12.