Дана программа:
s = int(input())
t = int(input())
A = int(input())
if (s > A) or (t > 12):
print("YES")
else:
print("NO")
Программу запускали 9 раз, при этом переменные s и t вводились парой чисел: (13, 2); (11, 12); (–12, 13); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 10).
Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает YES три раза.
Ответ: A = 9
Детальное решение по шагам:
1) Анализ условия
Программа печатает YES, если выполняются или (s > A), или (t > 12).
- Для пары 3: t = 13, следовательно t > 12 истинно, и для этой пары печататся YES независимо от A.
- Итак, базово YES будет хотя бы одно (пара 3).
2) Остальные пары
У остальных пар t <= 12, поэтому для них YES будет только если s > A.
Перечислим значения s для пар с t <= 12 (всего 8 пар):
13, 11, 2, -10, 6, 2, 9, 1
3) Нужно ровно 3 печати YES
У нас уже одна YES (из-за t > 12 в паре 3). Значит среди восьми остальных пар должно быть ровно две пары, где s > A.
4) Поиск A
Чтобы ровно две величины из {13, 11, 2, -10, 6, 2, 9, 1} были больше A, выберем A так, чтобы больше чем A было ровно два элемента.
Наибольшие значения: 13, 11, далее 9, 6, 2, 2, 1, -10.
Чтобы только две самых больших были больше A, нужно, чтобы A лежал в диапазоне [9, 11). На целые A это A ∈ {9, 10}. Самое маленькое из них — 9.
5) Проверка
- Для A = 9:
пары 1, 2 и 3 дают YES; остальные NO → всего 3 YES.
- Для A = 8 или меньше: будет ≥4 YES.
- Для A = 11 или больше: будет ≤2 YES.
Следовательно, минимальное целое значение A, при котором программа печатает YES три раза, равно 9.