Ниже приведена программа, записанная на пяти языках программирования Алгоритмический язык Паскаль алг нач цел s, t, A ввод s ввод t ввод A если s > A или t > 12 то вывод "YES" иначе вывод "NO" все кон var s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > A) or (t > 12) then writeln("YES") else writeln("NO") end. Бейсик Python DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > A OR t > 12 THEN PRINT "YES" ELSE PRINT "NO" ENDIF s = int(input()) t = int(input()) A = int(input()) if (s > A) or (t > 12): print("YES") else: print("NO") C++ #include using namespace std; int main() { int s, t, A; cin >> s; cin >> t; cin >> A; if (s > A || t > 12) cout << "YES" << endl; else cout << "NO" << endl; return 0; } Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13). Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» восемь раз.
Давайте подробно разберем задачу и найдем искомое значение параметра A.
**Дано:**
Программа на трех языках (Паскаль, Бейсик/Python, C++), которая читает три числа: s, t, A и выводит "YES" или "NO" по условию:
```plaintext
Если s > A или t > 12, то вывести "YES", иначе "NO".
```
В задаче приведены 9 комплексов входных данных (значения s и t), при которых программа выполняла 9 запусков.
**Цель:**
Найти минимальное целое A, при котором программа будет давать “NO” для восьми из девяти наборов входных данных, то есть, для восьми из них условие `(s > A) или (t > 12)` НЕ выполнено.
---
## Шаг 1: Анализ входных данных
Для каждого набора данных:
| № | s | t | Выполнение условия `YES`? | Почему? |
|---|-----|-----|--------------------------|--------------------------------------------|
| 1 | 13 | 2 | Да (так как 13 > A) | Потому что s=13, t=2, необходимо чтобы "NO" и было, A должен быть ≥ 13. |
| 2 | 11 | 12 | Нет (если и только, если s ≤ A и t ≤ 12) | t=12, не больше 12, так что условие зависит только от s. Например, A=11 сделает условие "YES" (так как s=11 > A? НЕТ, тогда "NO", потому что s=11 ≤ A). Чтобы было "NO", нужно A ≥ 11. |
| 3 | -12 | 12 | Нет | s=-12, так что s > A не выполнено, а t=12, следовательно t>12? — Нет, равно. Значит условие — "NO" при A ≥ -12. |
| 4 | 2 | -2 | Нет | t=-2, вполне может быть ≤ 12, условие "NO", если A ≥ 2 или t ≤ 12 (т.к t=-2 ≤12). |
| 5 | -10 | -10 | Нет | t=-10 ≤12, так что условие "NO" при A ≥ -10. |
| 6 | 6 | -5 | Нет | t=-5 ≤ 12, условие "NO" возможно при A ≥ 6. |
| 7 | 2 | 8 | Нет | t=8 ≤12, с s=2, A можно выбрать так, чтобы избежать условия "YES"? — Да, при A≥2, получится "NO". |
| 8 | 9 | 10 | Нет | t=10 ≤12, s=9, A можно выбрать так, чтобы "NO" — A≥9. |
| 9 | 1 | 13 | Да (так как t=13 > 12) | Т.к t=13 >12, условие "YES" независимо от A. Потребуется A ≥ 1, чтобы избежать сценария "YES" — но т.к t=13 >12, условие всегда выполнено. Для "NO" нужно, чтобы условие не выполнялось — т.е., невозможно, A может быть любым, чтобы дать "YES". Или у нас ошибка? — Т.к t=13>12, то условие "YES" всегда, независимо от A. Поэтому A не влияет. |
**Рассмотрим условие для каждой пары:**
- Для 1-го набора: чтобы было "NO", нужно, чтобы `(s > A)` было ложно, т.е., A ≥ 13.
- Для 2-го набора: чтобы было "NO", A ≥ 11.
- Для 3-го набора: чтобы было "NO", A ≥ -12.
- Для 4-го набора: A ≥ 2.
- Для 5-го: A ≥ -10.
- Для 6-го: A ≥ 6.
- Для 7-го: A ≥ 2.
- Для 8-го: A ≥ 9.
- Для 9-го: условие "YES" по `t > 12` — t=13, так что независимо от A, программа покажет "YES". Значит, на входные данные из 9-го набора программа показывает "YES" независимо от A.
---
## Шаг 2: Требование для восьми "NO"
В условии говорится: **найти A, чтобы программа дала "NO" именно в 8 случаях, а в одном — "YES".**
Наиболее вероятный кандидат — 9-й случай, где условие "YES" всегда, независимо от A.
Следовательно, чтобы "YES" было только в 9-м случае, а во всех остальных — "NO", нужно подобрать A так, чтобы:
- Во всех 8 случаях (1-8) условие было ложно, то есть:
\[
\text{Для каждого входных пары } (s, t):
\]
\[
(s > A) \text{ OR } (t > 12) \text{ должно быть ложно}
\]
Что эквивалентно:
\[
(s \le A) \text{ AND } (t \le 12)
\]
- В 9-м случае, условие всегда "YES" (так как t=13 >12), что сразу выполнено, независимо от A.
---
## Шаг 3: Находим минимальное A
Чтобы обеспечить, что для 8 первых наборов ситуация — "NO", нужно удовлетворять:
\[
\forall i = 1..8: \quad s_i \le A \quad \text{и} \quad t_i \le 12
\]
Дано:
| № | s | t | Ошибка при A? |
|---|-----|-----|--------------------------|
| 1 | 13 | 2 | s=13, чтобы "NO", нужно A ≥13 |
| 2 | 11 | 12 | s=11, t=12, A≥11, t=12 (тоже во внимание?) |
| 3 | -12 | 12 | s=-12, t=12, A≥-12 |
| 4 | 2 | -2 | A≥2, t=-2 см️естественно, она ≤12 |
| 5 | -10 | -10 | A≥-10 |
| 6 | 6 | -5 | A≥6|
| 7 | 2 | 8 | A≥2, t=8≤12 |
| 8 |9 | 10 | A≥9 |
Чтобы все восемь случаев были "NO", нужно выбрать A, такое что:
\[
A \ge \max(s_i) \text{ среди первых 8 наборов} \quad \text{и} \quad A \ge \max(t_i) \text{ среди первых 8 наборов}
\]
Это:
- Максимальное s среди первых 8: \( s_{max} = 13 \)
- Максимальное t среди первых 8: \( t_{max} = 12 \) (так как в 2-м, 3-м, 4-м, 5-м, 6-м, 7-м, 8-м случаях t ≤12 или T=12)
**Но помним, для каждого набора**:
- В случае №1: s=13. Чтобы условие "NO", нужно, чтобы A ≥ 13.
- В остальных случаях: s ≤ максимум s, то есть не меньше 13.
Следовательно, минимальный A — это максимум s среди 8 входных данных, то есть **13**.
---
## Итог:
- Для 8 из 9 наборов входных данных, чтобы программа выводила "NO", нужно, чтобы:
\[
A \ge 13
\]
- В 9-м случае, t=13 >12, условие "YES" выполняется независимо от A.
- Поэтому **минимальное целое значение A**, при котором программа напечатает "NO" в 8 случаях, а в 9-м — "YES", есть **13**.
---
## **Ответ:**
**13**