добавил допольнительные задачи
Родитель:
d74c547
· сравнить с родителем
172 файла
-
.gitignore +21 −2
Показать разницуСкрыть разницу
1 −./vscode 2 −.vscode 1 +# Редакторы и ОС 2 +.vscode/ 3 +.idea/ 4 +.DS_Store 5 +Thumbs.db 6 + 7 +# Python 8 +__pycache__/ 9 +*.pyc 10 +.venv/ 11 +venv/ 12 + 13 +# C++: скомпилированные программы и отладочные символы 14 +*.dSYM/ 15 +*.exe 16 +*.out 17 +*.o 18 +# бинарники без расширения (clang++ file.cpp -o file) 19 +C++/**/* 20 +!C++/**/ 21 +!C++/**/*.* -
Показать разницуСкрыть разницу
1 +# 01. Арбуз 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 4A — Watermelon](https://codeforces.com/problemset/problem/4/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | математика, условия | 9 + 10 +## 📝 Условие 11 + 12 +Арбуз весит `w` килограммов. Можно ли разрезать его на две части так, чтобы вес каждой был **чётным положительным** числом? Выведите `YES` или `NO`. 13 + 14 +## 📥 Входные данные 15 + 16 +Одно целое число `w` (`1 ≤ w ≤ 100`) — вес арбуза. 17 + 18 +## 📤 Выходные данные 19 + 20 +`YES`, если арбуз можно разделить на две части чётного веса, иначе `NO`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +8 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +YES 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 02. Театральная площадь 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 1A — Theatre Square](https://codeforces.com/problemset/problem/1/A) | 7 +| 📊 **Сложность** | 1000 | 8 +| 🏷️ **Темы** | математика, округление вверх | 9 + 10 +## 📝 Условие 11 + 12 +Площадь размером `n × m` нужно покрыть квадратными плитами `a × a`. Плиты можно выпускать за край, но нельзя разбивать. Найдите минимальное число плит. 13 + 14 +## 📥 Входные данные 15 + 16 +В одной строке три целых числа `n`, `m`, `a` (`1 ≤ n, m, a ≤ 10⁹`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальное количество плит. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +6 6 4 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +4 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 03. Домино 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 50A — Domino piling](https://codeforces.com/problemset/problem/50/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | математика | 9 + 10 +## 📝 Условие 11 + 12 +Доска `M × N` клеток. Сколько максимум доминошек `2 × 1` можно на неё положить без наложений? 13 + 14 +## 📥 Входные данные 15 + 16 +В одной строке два целых числа `M` и `N` (`1 ≤ M ≤ N ≤ 16`) — размеры доски. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — максимальное количество доминошек. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +2 4 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +4 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 04. Слишком длинные слова 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 71A — Way Too Long Words](https://codeforces.com/problemset/problem/71/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Слова длиннее 10 символов нужно сокращать: первая буква + количество букв между первой и последней + последняя буква (`localization` → `l10n`). Остальные слова выводятся как есть. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 100`). Далее `n` строк, в каждой — слово из строчных латинских букв длиной от 1 до 100. 17 + 18 +## 📤 Выходные данные 19 + 20 +`n` строк — каждое слово после замены (или без изменений, если его длина ≤ 10). 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +4 30 +word 31 +localization 32 +internationalization 33 +pneumonoultramicroscopicsilicovolcanoconiosis 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +word 40 +l10n Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 05. Команда 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 231A — Team](https://codeforces.com/problemset/problem/231/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | циклы, условия | 9 + 10 +## 📝 Условие 11 + 12 +Трое друзей решают `n` задач. Для каждой задачи известно, кто из них уверен в решении (0/1). Задачу пишут, если уверены хотя бы двое. Сколько задач напишут? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 1000`) — количество задач. Далее `n` строк по три числа 0 или 1: уверен ли Петя, Вася и Тоня в решении задачи. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — сколько задач напишут друзья. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +3 30 +1 1 0 31 +1 1 1 32 +1 0 0 33 +``` 34 + 35 +**Вывод:** 36 + 37 +```text 38 +2 39 +``` 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 06. Следующий раунд 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 158A — Next Round](https://codeforces.com/problemset/problem/158/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | массивы | 9 + 10 +## 📝 Условие 11 + 12 +Известны баллы `n` участников (по невозрастанию). В следующий раунд проходят все, у кого балл **положительный** и не меньше, чем у участника на `k`-м месте. Сколько пройдёт? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке два числа `n` и `k` (`1 ≤ k ≤ n ≤ 50`). Во второй — `n` чисел `a_i` (`0 ≤ a_i ≤ 100`) по невозрастанию: баллы участников по местам. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — сколько участников пройдёт в следующий раунд. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +8 5 30 +10 9 8 7 7 7 5 5 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +6 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 07. Bit++ 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 282A — Bit++](https://codeforces.com/problemset/problem/282/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки, моделирование | 9 + 10 +## 📝 Условие 11 + 12 +Переменная `x = 0`. Дано `n` операторов вида `++X`, `X++`, `--X`, `X--`. Найдите итоговое значение `x`. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 150`). Далее `n` строк, каждая — один из операторов `++X`, `X++`, `--X`, `X--`. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — итоговое значение `x`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +1 30 +++X 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +1 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 08. Петя и строки 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 112A — Petya and Strings](https://codeforces.com/problemset/problem/112/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Сравните две строки одинаковой длины лексикографически **без учёта регистра**. Выведите `-1`, `0` или `1`. 13 + 14 +## 📥 Входные данные 15 + 16 +Две строки одинаковой длины (от 1 до 100) из заглавных и строчных латинских букв. 17 + 18 +## 📤 Выходные данные 19 + 20 +`-1`, если первая строка меньше второй; `1`, если больше; `0`, если строки равны (регистр не учитывается). 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +aaaa 30 +aaaA 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +0 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 09. Красивая матрица 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 263A — Beautiful Matrix](https://codeforces.com/problemset/problem/263/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | двумерные массивы | 9 + 10 +## 📝 Условие 11 + 12 +В матрице `5 × 5` ровно одна единица, остальные — нули. За ход можно поменять местами две соседние строки или два соседних столбца. За сколько ходов единица попадёт в центр? 13 + 14 +## 📥 Входные данные 15 + 16 +Пять строк по пять чисел — матрица из 24 нулей и одной единицы. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальное количество ходов. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +0 0 0 0 0 30 +0 0 0 0 1 31 +0 0 0 0 0 32 +0 0 0 0 0 33 +0 0 0 0 0 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +3 40 +``` Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 10. Помощь в математике 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 339A — Helpful Maths](https://codeforces.com/problemset/problem/339/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки, сортировка | 9 + 10 +## 📝 Условие 11 + 12 +Дана сумма вида `3+2+1+1`, где слагаемые — только 1, 2 и 3. Переставьте слагаемые так, чтобы они шли по неубыванию. 13 + 14 +## 📥 Входные данные 15 + 16 +Одна непустая строка `s` длиной до 100 символов — сумма чисел 1, 2 и 3 через `+`, без пробелов. 17 + 18 +## 📤 Выходные данные 19 + 20 +Та же сумма, в которой слагаемые идут по неубыванию. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +3+2+1 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +1+2+3 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 11. Заглавная буква 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 281A — Word Capitalization](https://codeforces.com/problemset/problem/281/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Сделайте первую букву слова заглавной, остальные оставьте без изменений. 13 + 14 +## 📥 Входные данные 15 + 16 +Одно непустое слово из заглавных и строчных латинских букв длиной до 10³. 17 + 18 +## 📤 Выходные данные 19 + 20 +Слово, у которого первая буква сделана заглавной. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +ApPLe 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +ApPLe 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 12. Мальчик или девочка 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 236A — Boy or Girl](https://codeforces.com/problemset/problem/236/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки, множества | 9 + 10 +## 📝 Условие 11 + 12 +По никнейму определяют пол: если количество **различных** букв чётное — `CHAT WITH HER!`, иначе — `IGNORE HIM!`. 13 + 14 +## 📥 Входные данные 15 + 16 +Одна непустая строка из строчных латинских букв длиной до 100 — никнейм. 17 + 18 +## 📤 Выходные данные 19 + 20 +`CHAT WITH HER!`, если число различных букв чётное, иначе `IGNORE HIM!`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +wjmzbmr 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +CHAT WITH HER! 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 13. Камни на столе 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 266A — Stones on the Table](https://codeforces.com/problemset/problem/266/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +В ряд лежат камни цветов `R`, `G`, `B`. Какое минимальное число камней нужно убрать, чтобы любые два соседних были разного цвета? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 50`). Во второй — строка из `n` символов `R`, `G`, `B` — цвета камней. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальное количество камней, которые нужно убрать. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +3 30 +RRG 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +1 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 14. Солдат и бананы 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 546A — Soldier and Bananas](https://codeforces.com/problemset/problem/546/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | математика, циклы | 9 + 10 +## 📝 Условие 11 + 12 +Первый банан стоит `k` долларов, второй — `2k`, `i`-й — `i·k`. У солдата `n` долларов, а купить нужно `w` бананов. Сколько придётся занять? 13 + 14 +## 📥 Входные данные 15 + 16 +В одной строке три числа `k`, `n`, `w` (`1 ≤ k, w ≤ 1000`, `0 ≤ n ≤ 10⁹`) — цена первого банана, деньги солдата и сколько бананов он хочет. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — сколько долларов нужно занять (или `0`). 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +3 17 4 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +13 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 15. Слон 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 617A — Elephant](https://codeforces.com/problemset/problem/617/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | математика | 9 + 10 +## 📝 Условие 11 + 12 +Слон за шаг продвигается на 1–5 позиций вперёд. За какое минимальное число шагов он дойдёт из точки 0 до точки `x`? 13 + 14 +## 📥 Входные данные 15 + 16 +Одно число `x` (`1 ≤ x ≤ 10⁶`) — координата дома друга. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальное количество шагов. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +5 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +1 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 16. Неправильное вычитание 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 977A — Wrong Subtraction](https://codeforces.com/problemset/problem/977/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | моделирование | 9 + 10 +## 📝 Условие 11 + 12 +Таня «вычитает единицу» так: если последняя цифра не ноль — уменьшает число на 1, иначе делит на 10. Что получится после `k` таких операций над `n`? 13 + 14 +## 📥 Входные данные 15 + 16 +В одной строке два числа `n` и `k` (`2 ≤ n ≤ 10⁹`, `1 ≤ k ≤ 50`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — результат после `k` операций (гарантируется, что он положительный). 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +512 4 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +50 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 17. Слово 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 59A — Word](https://codeforces.com/problemset/problem/59/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Если в слове заглавных букв строго больше, чем строчных, переведите всё слово в верхний регистр, иначе — в нижний. 13 + 14 +## 📥 Входные данные 15 + 16 +Одно слово `s` из заглавных и строчных латинских букв длиной от 1 до 100. 17 + 18 +## 📤 Выходные данные 19 + 20 +Исправленное слово. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +HoUse 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +house 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 18. Антон и Даник 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 734A — Anton and Danik](https://codeforces.com/problemset/problem/734/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Строка из букв `A` и `D` — кто выиграл каждую партию. Кто выиграл больше партий? Выведите `Anton`, `Danik` или `Friendship`. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — строка из `n` букв `A` и `D`. 17 + 18 +## 📤 Выходные данные 19 + 20 +`Anton`, `Danik` или `Friendship`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +6 30 +ADAAAA 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +Anton 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 19. Медвежонок и старший брат 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 791A — Bear and Big Brother](https://codeforces.com/problemset/problem/791/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | циклы | 9 + 10 +## 📝 Условие 11 + 12 +Вес Лимака `a`, вес брата `b` (`a ≤ b`). Каждый год вес Лимака утраивается, а брата — удваивается. Через сколько лет Лимак станет строго тяжелее? 13 + 14 +## 📥 Входные данные 15 + 16 +В одной строке два числа `a` и `b` (`1 ≤ a ≤ b ≤ 10`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — через сколько лет Лимак станет строго тяжелее брата. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +4 7 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +2 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 20. Трамвай 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [Codeforces 116A — Tram](https://codeforces.com/problemset/problem/116/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | моделирование | 9 + 10 +## 📝 Условие 11 + 12 +На каждой остановке из трамвая выходят `a_i` человек, а заходят `b_i`. Какая минимальная вместимость трамвая нужна, чтобы все поместились? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`2 ≤ n ≤ 1000`) — количество остановок. Далее `n` строк по два числа `a_i` и `b_i` (`0 ≤ a_i, b_i ≤ 1000`) — сколько человек вышло и вошло на `i`-й остановке. На первой остановке никто не выходит, на последней все выходят и никто не входит. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальная вместимость трамвая. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +4 30 +0 3 31 +2 5 32 +4 2 33 +4 0 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +6 40 +``` Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 21. FizzBuzz 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [LeetCode 412 — Fizz Buzz](https://leetcode.com/problems/fizz-buzz/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | циклы, условия | 9 + 10 +## 📝 Условие 11 + 12 +Для чисел от 1 до `n` выведите `Fizz`, если число делится на 3, `Buzz` — если на 5, `FizzBuzz` — если на 15, иначе само число. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +Одно число `n` (`1 ≤ n ≤ 10⁴`). 21 + 22 +## 📤 Выходные данные 23 + 24 +`n` строк: для каждого `i` от 1 до `n` — `Fizz`, `Buzz`, `FizzBuzz` или само число. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +1 40 +2 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 22. Число-палиндром 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [LeetCode 9 — Palindrome Number](https://leetcode.com/problems/palindrome-number/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | математика | 9 + 10 +## 📝 Условие 11 + 12 +Определите, является ли целое число `x` палиндромом (читается одинаково слева направо и справа налево). Отрицательные числа — не палиндромы. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +Одно целое число `x` (`-2³¹ ≤ x ≤ 2³¹ - 1`). 21 + 22 +## 📤 Выходные данные 23 + 24 +`true`, если `x` — палиндром, иначе `false`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +121 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +true 40 +``` Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 23. Бегущая сумма 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [LeetCode 1480 — Running Sum of 1d Array](https://leetcode.com/problems/running-sum-of-1d-array/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | массивы, префиксные суммы | 9 + 10 +## 📝 Условие 11 + 12 +Для массива `nums` верните массив, где `i`-й элемент — сумма `nums[0] + … + nums[i]`. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 1000`). Во второй — `n` целых чисел `nums[i]` (`-10⁶ ≤ nums[i] ≤ 10⁶`). 21 + 22 +## 📤 Выходные данные 23 + 24 +`n` чисел через пробел — бегущие суммы. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +4 34 +1 2 3 4 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +1 3 6 10 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 24. Самый богатый клиент 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [LeetCode 1672 — Richest Customer Wealth](https://leetcode.com/problems/richest-customer-wealth/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | двумерные массивы | 9 + 10 +## 📝 Условие 11 + 12 +`accounts[i][j]` — деньги `i`-го клиента в `j`-м банке. Найдите максимальное суммарное богатство клиента. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `m` и `n` (`1 ≤ m, n ≤ 50`) — количество клиентов и банков. Далее `m` строк по `n` чисел (`1 ≤ accounts[i][j] ≤ 100`). 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — богатство самого богатого клиента. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +2 3 34 +1 2 3 35 +3 2 1 36 +``` 37 + 38 +**Вывод:** 39 + 40 +```text Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 25. Склейка массива 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟢 Intern | 6 +| 🔗 **Источник** | [LeetCode 1929 — Concatenation of Array](https://leetcode.com/problems/concatenation-of-array/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | массивы | 9 + 10 +## 📝 Условие 11 + 12 +Верните массив длины `2n`, равный `nums`, записанному два раза подряд. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 1000`). Во второй — `n` чисел `nums[i]` (`1 ≤ nums[i] ≤ 1000`). 21 + 22 +## 📤 Выходные данные 23 + 24 +`2n` чисел через пробел — массив `nums`, записанный два раза подряд. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 34 +1 2 1 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +1 2 1 1 2 1 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 🟢 Intern — 25 задач 2 + 3 +> Самый старт: ввод/вывод, арифметика, условия и простые циклы. Задачи на 5–15 минут. 4 + 5 +[⬅️ Ко всем уровням](../README.md) 6 + 7 +| № | Задача | Источник | Сложность | Темы | 8 +|:-:|---|---|:-:|---| 9 +| 1 | [Арбуз](01.%20Арбуз.md) | [Codeforces 4A — Watermelon](https://codeforces.com/problemset/problem/4/A) | 800 | математика, условия | 10 +| 2 | [Театральная площадь](02.%20Театральная%20площадь.md) | [Codeforces 1A — Theatre Square](https://codeforces.com/problemset/problem/1/A) | 1000 | математика, округление вверх | 11 +| 3 | [Домино](03.%20Домино.md) | [Codeforces 50A — Domino piling](https://codeforces.com/problemset/problem/50/A) | 800 | математика | 12 +| 4 | [Слишком длинные слова](04.%20Слишком%20длинные%20слова.md) | [Codeforces 71A — Way Too Long Words](https://codeforces.com/problemset/problem/71/A) | 800 | строки | 13 +| 5 | [Команда](05.%20Команда.md) | [Codeforces 231A — Team](https://codeforces.com/problemset/problem/231/A) | 800 | циклы, условия | 14 +| 6 | [Следующий раунд](06.%20Следующий%20раунд.md) | [Codeforces 158A — Next Round](https://codeforces.com/problemset/problem/158/A) | 800 | массивы | 15 +| 7 | [Bit++](07.%20Bit++.md) | [Codeforces 282A — Bit++](https://codeforces.com/problemset/problem/282/A) | 800 | строки, моделирование | 16 +| 8 | [Петя и строки](08.%20Петя%20и%20строки.md) | [Codeforces 112A — Petya and Strings](https://codeforces.com/problemset/problem/112/A) | 800 | строки | 17 +| 9 | [Красивая матрица](09.%20Красивая%20матрица.md) | [Codeforces 263A — Beautiful Matrix](https://codeforces.com/problemset/problem/263/A) | 800 | двумерные массивы | 18 +| 10 | [Помощь в математике](10.%20Помощь%20в%20математике.md) | [Codeforces 339A — Helpful Maths](https://codeforces.com/problemset/problem/339/A) | 800 | строки, сортировка | 19 +| 11 | [Заглавная буква](11.%20Заглавная%20буква.md) | [Codeforces 281A — Word Capitalization](https://codeforces.com/problemset/problem/281/A) | 800 | строки | 20 +| 12 | [Мальчик или девочка](12.%20Мальчик%20или%20девочка.md) | [Codeforces 236A — Boy or Girl](https://codeforces.com/problemset/problem/236/A) | 800 | строки, множества | 21 +| 13 | [Камни на столе](13.%20Камни%20на%20столе.md) | [Codeforces 266A — Stones on the Table](https://codeforces.com/problemset/problem/266/A) | 800 | строки | 22 +| 14 | [Солдат и бананы](14.%20Солдат%20и%20бананы.md) | [Codeforces 546A — Soldier and Bananas](https://codeforces.com/problemset/problem/546/A) | 800 | математика, циклы | 23 +| 15 | [Слон](15.%20Слон.md) | [Codeforces 617A — Elephant](https://codeforces.com/problemset/problem/617/A) | 800 | математика | 24 +| 16 | [Неправильное вычитание](16.%20Неправильное%20вычитание.md) | [Codeforces 977A — Wrong Subtraction](https://codeforces.com/problemset/problem/977/A) | 800 | моделирование | 25 +| 17 | [Слово](17.%20Слово.md) | [Codeforces 59A — Word](https://codeforces.com/problemset/problem/59/A) | 800 | строки | 26 +| 18 | [Антон и Даник](18.%20Антон%20и%20Даник.md) | [Codeforces 734A — Anton and Danik](https://codeforces.com/problemset/problem/734/A) | 800 | строки | 27 +| 19 | [Медвежонок и старший брат](19.%20Медвежонок%20и%20старший%20брат.md) | [Codeforces 791A — Bear and Big Brother](https://codeforces.com/problemset/problem/791/A) | 800 | циклы | 28 +| 20 | [Трамвай](20.%20Трамвай.md) | [Codeforces 116A — Tram](https://codeforces.com/problemset/problem/116/A) | 800 | моделирование | 29 +| 21 | [FizzBuzz](21.%20FizzBuzz.md) | [LeetCode 412 — Fizz Buzz](https://leetcode.com/problems/fizz-buzz/) | Easy | циклы, условия | 30 +| 22 | [Число-палиндром](22.%20Число-палиндром.md) | [LeetCode 9 — Palindrome Number](https://leetcode.com/problems/palindrome-number/) | Easy | математика | 31 +| 23 | [Бегущая сумма](23.%20Бегущая%20сумма.md) | [LeetCode 1480 — Running Sum of 1d Array](https://leetcode.com/problems/running-sum-of-1d-array/) | Easy | массивы, префиксные суммы | 32 +| 24 | [Самый богатый клиент](24.%20Самый%20богатый%20клиент.md) | [LeetCode 1672 — Richest Customer Wealth](https://leetcode.com/problems/richest-customer-wealth/) | Easy | двумерные массивы | 33 +| 25 | [Склейка массива](25.%20Склейка%20массива.md) | [LeetCode 1929 — Concatenation of Array](https://leetcode.com/problems/concatenation-of-array/) | Easy | массивы | -
Показать разницуСкрыть разницу
1 −## Задача: Второй максимум 1 +# 01. Второй максимум 2 2 3 −**Сложность:** лёгкая (800–1000 на Codeforces) 4 −**Тема:** массивы, циклы, условия 5 −**Язык:** C++ 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | Авторская задача курса · похожие: [LeetCode 414 — Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | 7 +| 📊 **Сложность** | 800–1000 | 8 +| 🏷️ **Темы** | массивы, циклы, условия | 6 9 7 10 ### Условие 8 11 68 71 Желательно решить задачу за **O(N)** по времени и **O(1)** по дополнительной памяти. 69 72 70 73 **Твоя задача:** Напиши решение на C++ самостоятельно. Использовать сортировку не нужно. 74 + 75 +--- 76 + 77 +[⬅️ К списку задач уровня](README.md) -
Показать разницуСкрыть разницу
1 −## Задача: Самая длинная серия 1 +# 02. Самая длинная серия 2 2 3 −**Сложность:** лёгкая (800–1000 на Codeforces) 4 −**Тема:** массивы, циклы, условия 5 −**Язык:** C++ 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | Авторская задача курса · похожие: [LeetCode 485 — Max Consecutive Ones](https://leetcode.com/problems/max-consecutive-ones/), [Codeforces 96A — Football](https://codeforces.com/problemset/problem/96/A) | 7 +| 📊 **Сложность** | 800–1000 | 8 +| 🏷️ **Темы** | массивы, циклы, условия | 6 9 7 10 ### Условие 8 11 80 83 - Сортировать массив нельзя. 81 84 82 85 Подсказка: если текущее число равно предыдущему, увеличивай длину серии. Иначе начинай новую серию с длины `1`. 86 + 87 +--- 88 + 89 +[⬅️ К списку задач уровня](README.md) -
Показать разницуСкрыть разницу
1 +# 03. Юный физик 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 69A — Young Physicist](https://codeforces.com/problemset/problem/69/A) | 7 +| 📊 **Сложность** | 1000 | 8 +| 🏷️ **Темы** | массивы, математика | 9 + 10 +## 📝 Условие 11 + 12 +На тело действуют `n` сил, заданных векторами `(x, y, z)`. Находится ли тело в равновесии (сумма всех векторов равна нулю)? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 100`). Далее `n` строк по три целых числа `x_i`, `y_i`, `z_i` (`-100 ≤ x_i, y_i, z_i ≤ 100`) — координаты векторов сил. 17 + 18 +## 📤 Выходные данные 19 + 20 +`YES`, если тело в равновесии, иначе `NO`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +3 30 +4 1 7 31 +-2 4 -1 32 +1 -5 -3 33 +``` 34 + 35 +**Вывод:** 36 + 37 +```text 38 +NO 39 +``` 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 04. Почти счастливое число 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 110A — Nearly Lucky Number](https://codeforces.com/problemset/problem/110/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Счастливые цифры — 4 и 7. Число «почти счастливое», если количество счастливых цифр в нём само является счастливым числом. Проверьте. 13 + 14 +## 📥 Входные данные 15 + 16 +Одно число `n` (`1 ≤ n ≤ 10¹⁸`). 17 + 18 +## 📤 Выходные данные 19 + 20 +`YES`, если число почти счастливое, иначе `NO`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +40047 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +NO 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 05. Работа со строкой 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 118A — String Task](https://codeforces.com/problemset/problem/118/A) | 7 +| 📊 **Сложность** | 1000 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Удалите из строки все гласные (`A O Y E U I` в любом регистре), перед каждой согласной поставьте точку, а все буквы сделайте строчными. 13 + 14 +## 📥 Входные данные 15 + 16 +Одна строка из заглавных и строчных латинских букв длиной от 1 до 100. 17 + 18 +## 📤 Выходные данные 19 + 20 +Строка после обработки (гарантируется, что она не пустая). 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +tour 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +.t.r 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 06. Футбол 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 96A — Football](https://codeforces.com/problemset/problem/96/A) | 7 +| 📊 **Сложность** | 900 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Строка из 0 и 1 — позиции игроков двух команд. Ситуация опасная, если подряд стоят хотя бы 7 игроков одной команды. Выведите `YES` / `NO`. 13 + 14 +## 📥 Входные данные 15 + 16 +Одна непустая строка из `0` и `1` длиной до 100. В ней есть игроки обеих команд. 17 + 18 +## 📤 Выходные данные 19 + 20 +`YES`, если ситуация опасная, иначе `NO`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +001001 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +NO 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 07. Очередь в школе 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 266B — Queue at the School](https://codeforces.com/problemset/problem/266/B) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки, моделирование | 9 + 10 +## 📝 Условие 11 + 12 +Очередь из мальчиков `B` и девочек `G`. Каждую секунду каждый мальчик, стоящий прямо перед девочкой, пропускает её вперёд. Как будет выглядеть очередь через `t` секунд? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке два числа `n` и `t` (`1 ≤ n, t ≤ 50`). Во второй — строка из `n` символов `B` и `G`. 17 + 18 +## 📤 Выходные данные 19 + 20 +Строка — очередь через `t` секунд. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +5 1 30 +BGGBG 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +GBGGB 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 08. Близнецы 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 160A — Twins](https://codeforces.com/problemset/problem/160/A) | 7 +| 📊 **Сложность** | 900 | 8 +| 🏷️ **Темы** | жадность, сортировка | 9 + 10 +## 📝 Условие 11 + 12 +Есть `n` монет. Какое минимальное число монет нужно взять, чтобы их сумма была **строго больше** суммы оставшихся? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 100`). Во второй — `n` чисел `a_i` (`1 ≤ a_i ≤ 100`) — номиналы монет. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальное количество монет. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +2 30 +3 3 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +2 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 09. Красивый год 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 271A — Beautiful Year](https://codeforces.com/problemset/problem/271/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | перебор | 9 + 10 +## 📝 Условие 11 + 12 +Найдите минимальный год, строго больший `y`, в котором все цифры различны. 13 + 14 +## 📥 Входные данные 15 + 16 +Одно число `y` (`1000 ≤ y ≤ 9000`) — номер года. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальный год больше `y` со всеми различными цифрами. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +1987 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +2013 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 10. Магниты 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 344A — Magnets](https://codeforces.com/problemset/problem/344/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Магниты выложены в ряд, каждый — `01` или `10`. Соседние одинаковые магниты притягиваются в одну группу. Сколько получится групп? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Далее `n` строк, в каждой `01` или `10`. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — количество групп. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +6 30 +10 31 +10 32 +10 33 +01 34 +10 35 +10 36 +``` 37 + 38 +**Вывод:** 39 + 40 +```text Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 11. cAPS lOCK 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 131A — cAPS lOCK](https://codeforces.com/problemset/problem/131/A) | 7 +| 📊 **Сложность** | 1000 | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Если слово целиком набрано заглавными или все буквы, кроме первой, заглавные — значит, случайно нажат Caps Lock. Поменяйте регистр всех букв в таком слове. 13 + 14 +## 📥 Входные данные 15 + 16 +Одно слово из заглавных и строчных латинских букв длиной от 1 до 100. 17 + 18 +## 📤 Выходные данные 19 + 20 +Слово после обработки. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +cAPS 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +Caps 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 12. Ваня и фонари 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 492B — Vanya and Lanterns](https://codeforces.com/problemset/problem/492/B) | 7 +| 📊 **Сложность** | 1200 | 8 +| 🏷️ **Темы** | сортировка, жадность | 9 + 10 +## 📝 Условие 11 + 12 +Улица длиной `l`, на ней `n` фонарей. Каждый освещает расстояние `d` в обе стороны. Найдите минимальное `d`, при котором освещена вся улица. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке два числа `n` и `l` (`1 ≤ n ≤ 1000`, `1 ≤ l ≤ 10⁹`). Во второй — `n` чисел `a_i` (`0 ≤ a_i ≤ l`) — координаты фонарей (могут совпадать). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно вещественное число — минимальный радиус `d` (погрешность до 10⁻⁹). 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +7 15 30 +15 5 3 7 9 14 0 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +2.5000000000 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 13. Сумма круглых чисел 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [Codeforces 1352A — Sum of Round Numbers](https://codeforces.com/problemset/problem/1352/A) | 7 +| 📊 **Сложность** | 800 | 8 +| 🏷️ **Темы** | математика | 9 + 10 +## 📝 Условие 11 + 12 +Круглое число — это одна ненулевая цифра и далее нули (`4000`, `7`). Представьте `n` в виде суммы минимального количества круглых чисел. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `t` (`1 ≤ t ≤ 10⁴`) — количество тестов. Далее `t` строк, в каждой число `n` (`1 ≤ n ≤ 10⁴`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Для каждого теста: в первой строке `k` — минимальное количество слагаемых, во второй — сами `k` круглых чисел. 21 + 22 +> [!NOTE] 23 +> Слагаемые можно выводить в любом порядке. 24 + 25 +## 🧪 Тесты 26 + 27 +### Тест 1 28 + 29 +**Ввод:** 30 + 31 +```text 32 +3 33 +5009 34 +7 35 +9876 36 +``` 37 + 38 +**Вывод:** 39 + 40 +```text Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 14. Сумма двух 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 1 — Two Sum](https://leetcode.com/problems/two-sum/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | хеш-таблицы | 9 + 10 +## 📝 Условие 11 + 12 +Дан массив и число `target`. Найдите индексы двух элементов, сумма которых равна `target`. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `n` и `target` (`2 ≤ n ≤ 10⁴`). Во второй — `n` целых чисел `nums[i]`. Гарантируется, что ответ ровно один. 21 + 22 +## 📤 Выходные данные 23 + 24 +Два индекса `i < j` (с нуля), для которых `nums[i] + nums[j] = target`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +4 9 34 +2 7 11 15 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +0 1 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 15. Правильные скобки 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 20 — Valid Parentheses](https://leetcode.com/problems/valid-parentheses/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | стек, строки | 9 + 10 +## 📝 Условие 11 + 12 +Строка из скобок `()[]{}`. Проверьте, является ли последовательность правильной. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +Одна строка `s` (`1 ≤ |s| ≤ 10⁴`) из символов `()[]{}`. 21 + 22 +## 📤 Выходные данные 23 + 24 +`true`, если скобочная последовательность правильная, иначе `false`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +()[]{} 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +true 40 +``` Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 16. Удаление дубликатов 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 26 — Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | два указателя | 9 + 10 +## 📝 Условие 11 + 12 +Удалите дубликаты из отсортированного массива **на месте** и верните количество уникальных элементов. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 3·10⁴`). Во второй — `n` чисел, отсортированных по неубыванию. 21 + 22 +## 📤 Выходные данные 23 + 24 +В первой строке `k` — количество уникальных чисел. Во второй — эти `k` чисел по порядку. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 34 +1 1 2 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +2 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 17. Акции: лучший момент 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 121 — Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | массивы, жадность | 9 + 10 +## 📝 Условие 11 + 12 +`prices[i]` — цена акции в день `i`. Купите один раз и продайте позже один раз. Какая максимальная прибыль? 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — `n` чисел `prices[i]` (`0 ≤ prices[i] ≤ 10⁴`). 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — максимальная прибыль (или `0`). 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +6 34 +7 1 5 3 6 4 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +5 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 18. Есть ли повторы 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 217 — Contains Duplicate](https://leetcode.com/problems/contains-duplicate/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | множества | 9 + 10 +## 📝 Условие 11 + 12 +Определите, встречается ли в массиве какое-нибудь значение хотя бы дважды. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — `n` целых чисел. 21 + 22 +## 📤 Выходные данные 23 + 24 +`true`, если есть повторяющееся значение, иначе `false`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +4 34 +1 2 3 1 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +true Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 19. Анаграмма 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 242 — Valid Anagram](https://leetcode.com/problems/valid-anagram/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | строки, подсчёт | 9 + 10 +## 📝 Условие 11 + 12 +Проверьте, является ли строка `t` анаграммой строки `s`. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +Две строки `s` и `t` из строчных латинских букв, каждая на отдельной строке. 21 + 22 +## 📤 Выходные данные 23 + 24 +`true`, если `t` — анаграмма `s`, иначе `false`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +anagram 34 +nagaram 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +true Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 20. Сдвинуть нули 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 283 — Move Zeroes](https://leetcode.com/problems/move-zeroes/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | два указателя | 9 + 10 +## 📝 Условие 11 + 12 +Переместите все нули в конец массива, сохранив порядок остальных элементов. Делать на месте. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 10⁴`). Во второй — `n` целых чисел. 21 + 22 +## 📤 Выходные данные 23 + 24 +`n` чисел — массив после перемещения нулей в конец. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +5 34 +0 1 0 3 12 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +1 3 12 0 0 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 21. Бинарный поиск 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 704 — Binary Search](https://leetcode.com/problems/binary-search/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | бинарный поиск | 9 + 10 +## 📝 Условие 11 + 12 +Найдите индекс `target` в отсортированном массиве или верните `-1`. Требуется O(log N). 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `n` и `target`. Во второй — `n` различных чисел по возрастанию. 21 + 22 +## 📤 Выходные данные 23 + 24 +Индекс `target` (с нуля) или `-1`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +6 9 34 +-1 0 3 5 9 12 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +4 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 22. Одинокое число 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 136 — Single Number](https://leetcode.com/problems/single-number/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | битовые операции | 9 + 10 +## 📝 Условие 11 + 12 +Каждое число в массиве встречается дважды, кроме одного. Найдите его за O(N) и O(1) памяти. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке нечётное число `n` (`1 ≤ n ≤ 3·10⁴`). Во второй — `n` чисел: все встречаются дважды, кроме одного. 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — то, что встречается один раз. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 34 +2 2 1 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +1 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 23. Элемент большинства 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 169 — Majority Element](https://leetcode.com/problems/majority-element/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | подсчёт, алгоритм Бойера–Мура | 9 + 10 +## 📝 Условие 11 + 12 +Найдите элемент, который встречается в массиве больше `n / 2` раз. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 5·10⁴`). Во второй — `n` чисел. Гарантируется, что элемент большинства существует. 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — элемент, встречающийся больше `n / 2` раз. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 34 +3 2 3 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +3 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 24. Общий префикс 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 14 — Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | строки | 9 + 10 +## 📝 Условие 11 + 12 +Найдите самый длинный общий префикс массива строк. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 200`). Далее `n` строк — слова из строчных латинских букв. 21 + 22 +## 📤 Выходные данные 23 + 24 +Самый длинный общий префикс (если его нет — пустая строка). 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 34 +flower 35 +flow 36 +flight 37 +``` 38 + 39 +**Вывод:** 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 25. Место для вставки 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🔵 Easy | 6 +| 🔗 **Источник** | [LeetCode 35 — Search Insert Position](https://leetcode.com/problems/search-insert-position/) | 7 +| 📊 **Сложность** | Easy | 8 +| 🏷️ **Темы** | бинарный поиск | 9 + 10 +## 📝 Условие 11 + 12 +В отсортированном массиве найдите индекс `target` или позицию, куда его нужно вставить. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `n` и `target`. Во второй — `n` различных чисел по возрастанию. 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — индекс `target` или позиция, куда его нужно вставить. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +4 5 34 +1 3 5 6 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +2 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 🔵 Easy — 25 задач 2 + 3 +> Массивы, строки, простая жадность и сортировка. Уже нужно думать над идеей, но без сложных алгоритмов. 4 + 5 +[⬅️ Ко всем уровням](../README.md) 6 + 7 +| № | Задача | Источник | Сложность | Темы | 8 +|:-:|---|---|:-:|---| 9 +| 1 | [Второй максимум](01.%20Второй%20максимум.md) | Авторская · похожая [LeetCode 414 — Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | 800–1000 | массивы, циклы, условия | 10 +| 2 | [Самая длинная серия](02.%20Самая%20длинная%20серия.md) | Авторская · похожая [LeetCode 485 — Max Consecutive Ones](https://leetcode.com/problems/max-consecutive-ones/) | 800–1000 | массивы, циклы, условия | 11 +| 3 | [Юный физик](03.%20Юный%20физик.md) | [Codeforces 69A — Young Physicist](https://codeforces.com/problemset/problem/69/A) | 1000 | массивы, математика | 12 +| 4 | [Почти счастливое число](04.%20Почти%20счастливое%20число.md) | [Codeforces 110A — Nearly Lucky Number](https://codeforces.com/problemset/problem/110/A) | 800 | строки | 13 +| 5 | [Работа со строкой](05.%20Работа%20со%20строкой.md) | [Codeforces 118A — String Task](https://codeforces.com/problemset/problem/118/A) | 1000 | строки | 14 +| 6 | [Футбол](06.%20Футбол.md) | [Codeforces 96A — Football](https://codeforces.com/problemset/problem/96/A) | 900 | строки | 15 +| 7 | [Очередь в школе](07.%20Очередь%20в%20школе.md) | [Codeforces 266B — Queue at the School](https://codeforces.com/problemset/problem/266/B) | 800 | строки, моделирование | 16 +| 8 | [Близнецы](08.%20Близнецы.md) | [Codeforces 160A — Twins](https://codeforces.com/problemset/problem/160/A) | 900 | жадность, сортировка | 17 +| 9 | [Красивый год](09.%20Красивый%20год.md) | [Codeforces 271A — Beautiful Year](https://codeforces.com/problemset/problem/271/A) | 800 | перебор | 18 +| 10 | [Магниты](10.%20Магниты.md) | [Codeforces 344A — Magnets](https://codeforces.com/problemset/problem/344/A) | 800 | строки | 19 +| 11 | [cAPS lOCK](11.%20cAPS%20lOCK.md) | [Codeforces 131A — cAPS lOCK](https://codeforces.com/problemset/problem/131/A) | 1000 | строки | 20 +| 12 | [Ваня и фонари](12.%20Ваня%20и%20фонари.md) | [Codeforces 492B — Vanya and Lanterns](https://codeforces.com/problemset/problem/492/B) | 1200 | сортировка, жадность | 21 +| 13 | [Сумма круглых чисел](13.%20Сумма%20круглых%20чисел.md) | [Codeforces 1352A — Sum of Round Numbers](https://codeforces.com/problemset/problem/1352/A) | 800 | математика | 22 +| 14 | [Сумма двух](14.%20Сумма%20двух.md) | [LeetCode 1 — Two Sum](https://leetcode.com/problems/two-sum/) | Easy | хеш-таблицы | 23 +| 15 | [Правильные скобки](15.%20Правильные%20скобки.md) | [LeetCode 20 — Valid Parentheses](https://leetcode.com/problems/valid-parentheses/) | Easy | стек, строки | 24 +| 16 | [Удаление дубликатов](16.%20Удаление%20дубликатов.md) | [LeetCode 26 — Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/) | Easy | два указателя | 25 +| 17 | [Акции: лучший момент](17.%20Акции%20лучший%20момент.md) | [LeetCode 121 — Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/) | Easy | массивы, жадность | 26 +| 18 | [Есть ли повторы](18.%20Есть%20ли%20повторы.md) | [LeetCode 217 — Contains Duplicate](https://leetcode.com/problems/contains-duplicate/) | Easy | множества | 27 +| 19 | [Анаграмма](19.%20Анаграмма.md) | [LeetCode 242 — Valid Anagram](https://leetcode.com/problems/valid-anagram/) | Easy | строки, подсчёт | 28 +| 20 | [Сдвинуть нули](20.%20Сдвинуть%20нули.md) | [LeetCode 283 — Move Zeroes](https://leetcode.com/problems/move-zeroes/) | Easy | два указателя | 29 +| 21 | [Бинарный поиск](21.%20Бинарный%20поиск.md) | [LeetCode 704 — Binary Search](https://leetcode.com/problems/binary-search/) | Easy | бинарный поиск | 30 +| 22 | [Одинокое число](22.%20Одинокое%20число.md) | [LeetCode 136 — Single Number](https://leetcode.com/problems/single-number/) | Easy | битовые операции | 31 +| 23 | [Элемент большинства](23.%20Элемент%20большинства.md) | [LeetCode 169 — Majority Element](https://leetcode.com/problems/majority-element/) | Easy | подсчёт, алгоритм Бойера–Мура | 32 +| 24 | [Общий префикс](24.%20Общий%20префикс.md) | [LeetCode 14 — Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/) | Easy | строки | 33 +| 25 | [Место для вставки](25.%20Место%20для%20вставки.md) | [LeetCode 35 — Search Insert Position](https://leetcode.com/problems/search-insert-position/) | Easy | бинарный поиск | -
Показать разницуСкрыть разницу
1 +# 01. Система регистрации 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 4C — Registration system](https://codeforces.com/problemset/problem/4/C) | 7 +| 📊 **Сложность** | 1300 | 8 +| 🏷️ **Темы** | хеш-таблицы, строки | 9 + 10 +## 📝 Условие 11 + 12 +Пользователи регистрируются по очереди. Если имя свободно — выведите `OK`. Иначе выдайте имя `name1`, `name2`, … с минимальным свободным номером. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Далее `n` строк — запрашиваемые имена (строчные латинские буквы, до 32 символов). 17 + 18 +## 📤 Выходные данные 19 + 20 +`n` строк — ответы системы: `OK` или новое имя. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +4 30 +abacaba 31 +acaba 32 +abacaba 33 +acab 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +OK 40 +OK Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 02. Книги 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 279B — Books](https://codeforces.com/problemset/problem/279/B) | 7 +| 📊 **Сложность** | 1400 | 8 +| 🏷️ **Темы** | два указателя | 9 + 10 +## 📝 Условие 11 + 12 +Книги читаются подряд, `i`-я — за `a_i` минут. Есть `t` минут: можно начать с любой книги и читать по порядку. Сколько максимум книг удастся прочитать целиком? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке два числа `n` и `t` (`1 ≤ n ≤ 10⁵`, `1 ≤ t ≤ 10⁹`). Во второй — `n` чисел `a_i` (`1 ≤ a_i ≤ 10⁴`) — время чтения книг. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — максимальное количество книг. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +4 5 30 +3 1 2 1 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +3 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 03. Количество способов 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 466C — Number of Ways](https://codeforces.com/problemset/problem/466/C) | 7 +| 📊 **Сложность** | 1700 | 8 +| 🏷️ **Темы** | префиксные суммы | 9 + 10 +## 📝 Условие 11 + 12 +Сколькими способами можно разрезать массив на три непустые непрерывные части с равными суммами? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 5·10⁵`). Во второй — `n` целых чисел (`|a_i| ≤ 10⁹`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — количество способов разрезать массив на три части с равными суммами. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +5 30 +1 2 3 0 3 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +2 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 04. Скука 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 455A — Boredom](https://codeforces.com/problemset/problem/455/A) | 7 +| 📊 **Сложность** | 1500 | 8 +| 🏷️ **Темы** | динамическое программирование | 9 + 10 +## 📝 Условие 11 + 12 +Выбирая число `x`, вы получаете `x` очков, но все элементы, равные `x - 1` и `x + 1`, удаляются. Сколько максимум очков можно набрать? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — `n` чисел `a_i` (`1 ≤ a_i ≤ 10⁵`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — максимальное количество очков. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +2 30 +1 2 31 +``` 32 + 33 +**Вывод:** 34 + 35 +```text 36 +2 37 +``` 38 + 39 +### Тест 2 40 + Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 05. Разрезание ленты 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 189A — Cut Ribbon](https://codeforces.com/problemset/problem/189/A) | 7 +| 📊 **Сложность** | 1300 | 8 +| 🏷️ **Темы** | динамическое программирование | 9 + 10 +## 📝 Условие 11 + 12 +Ленту длины `n` нужно разрезать на куски длины только `a`, `b` или `c`, чтобы кусков было как можно больше. 13 + 14 +## 📥 Входные данные 15 + 16 +В одной строке четыре числа `n`, `a`, `b`, `c` (`1 ≤ n, a, b, c ≤ 4000`). Гарантируется, что хотя бы одно разрезание существует. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — максимальное количество кусков. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +5 5 3 2 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +2 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 06. Серёжа и суффиксы 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 368B — Sereja and Suffixes](https://codeforces.com/problemset/problem/368/B) | 7 +| 📊 **Сложность** | 1100 | 8 +| 🏷️ **Темы** | множества, предподсчёт | 9 + 10 +## 📝 Условие 11 + 12 +Дан массив и `m` запросов `l`. Для каждого выведите количество различных чисел на отрезке `a[l..n]`. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке два числа `n` и `m` (`1 ≤ n, m ≤ 10⁵`). Во второй — `n` чисел `a_i` (`1 ≤ a_i ≤ 10⁵`). Далее `m` строк, в каждой число `l_i` (`1 ≤ l_i ≤ n`). 17 + 18 +## 📤 Выходные данные 19 + 20 +`m` строк — количество различных чисел на суффиксе `a[l_i..n]`. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +10 10 30 +1 2 3 4 1 2 3 4 100000 99999 31 +1 32 +2 33 +3 34 +4 35 +5 36 +6 37 +7 38 +8 39 +9 40 +10 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 07. Камни Куриямы Мирай 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 433B — Kuriyama Mirai's Stones](https://codeforces.com/problemset/problem/433/B) | 7 +| 📊 **Сложность** | 1200 | 8 +| 🏷️ **Темы** | префиксные суммы, сортировка | 9 + 10 +## 📝 Условие 11 + 12 +Запросы двух типов: сумма на отрезке `[l, r]` исходного массива или того же массива после сортировки. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — `n` чисел `v_i` (`1 ≤ v_i ≤ 10⁹`). В третьей — число `m` запросов. Далее `m` строк по три числа `type l r`: `type = 1` — сумма на отрезке исходного массива, `type = 2` — отсортированного. 17 + 18 +## 📤 Выходные данные 19 + 20 +`m` строк — ответы на запросы. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +6 30 +6 4 2 7 2 7 31 +3 32 +2 3 6 33 +1 3 4 34 +1 1 6 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +24 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 08. Интересный напиток 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 706B — Interesting drink](https://codeforces.com/problemset/problem/706/B) | 7 +| 📊 **Сложность** | 1100 | 8 +| 🏷️ **Темы** | бинарный поиск | 9 + 10 +## 📝 Условие 11 + 12 +Известны цены напитка в `n` магазинах. В `i`-й день у Василия `m_i` монет. В скольких магазинах он может купить напиток? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — `n` чисел `x_i` — цены в магазинах. В третьей — число `q`. Далее `q` строк, в каждой `m_i` — сколько монет у Василия в `i`-й день. 17 + 18 +## 📤 Выходные данные 19 + 20 +`q` строк — в скольких магазинах можно купить напиток в каждый из дней. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +5 30 +3 10 8 6 11 31 +4 32 +1 33 +10 34 +3 35 +11 36 +``` 37 + 38 +**Вывод:** 39 + 40 +```text Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 09. Кефа и парк 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 580C — Kefa and Park](https://codeforces.com/problemset/problem/580/C) | 7 +| 📊 **Сложность** | 1500 | 8 +| 🏷️ **Темы** | деревья, DFS | 9 + 10 +## 📝 Условие 11 + 12 +Парк — дерево с корнем в 1, в некоторых вершинах живут коты. Сколько листьев-ресторанов можно достичь, если на пути нельзя встретить больше `m` котов **подряд**? 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке два числа `n` и `m` (`2 ≤ n ≤ 10⁵`, `1 ≤ m ≤ n`). Во второй — `n` чисел 0/1: есть ли кот в вершине. Далее `n − 1` строк — рёбра дерева `x y`. Корень — вершина 1. 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — количество подходящих листьев. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +4 1 30 +1 1 0 0 31 +1 2 32 +1 3 33 +1 4 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +2 40 +``` Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 10. Две кнопки 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 520B — Two Buttons](https://codeforces.com/problemset/problem/520/B) | 7 +| 📊 **Сложность** | 1400 | 8 +| 🏷️ **Темы** | BFS, жадность | 9 + 10 +## 📝 Условие 11 + 12 +Красная кнопка умножает число на 2, синяя — вычитает 1. За какое минимальное число нажатий из `n` получить `m`? 13 + 14 +## 📥 Входные данные 15 + 16 +В одной строке два различных числа `n` и `m` (`1 ≤ n, m ≤ 10⁴`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — минимальное количество нажатий. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +4 6 30 +``` 31 + 32 +**Вывод:** 33 + 34 +```text 35 +2 36 +``` 37 + 38 +### Тест 2 39 + 40 +**Ввод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 11. Пара тем 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [Codeforces 1324D — Pair of Topics](https://codeforces.com/problemset/problem/1324/D) | 7 +| 📊 **Сложность** | 1400 | 8 +| 🏷️ **Темы** | сортировка, два указателя | 9 + 10 +## 📝 Условие 11 + 12 +Посчитайте количество пар `i < j`, для которых `a_i + a_j > b_i + b_j`. 13 + 14 +## 📥 Входные данные 15 + 16 +В первой строке число `n` (`2 ≤ n ≤ 2·10⁵`). Во второй — `n` чисел `a_i`, в третьей — `n` чисел `b_i` (`1 ≤ a_i, b_i ≤ 10⁹`). 17 + 18 +## 📤 Выходные данные 19 + 20 +Одно число — количество хороших пар. 21 + 22 +## 🧪 Тесты 23 + 24 +### Тест 1 25 + 26 +**Ввод:** 27 + 28 +```text 29 +5 30 +4 8 2 6 2 31 +4 5 4 1 3 32 +``` 33 + 34 +**Вывод:** 35 + 36 +```text 37 +7 38 +``` 39 + 40 +### Тест 2 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 12. Подстрока без повторов 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 3 — Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | скользящее окно | 9 + 10 +## 📝 Условие 11 + 12 +Найдите длину самой длинной подстроки без повторяющихся символов. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +Одна строка `s` без пробелов (`1 ≤ |s| ≤ 5·10⁴`). 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — длина самой длинной подстроки без повторов. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +abcabcbb 34 +``` 35 + 36 +**Вывод:** 37 + 38 +```text 39 +3 40 +``` Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 13. Три числа с нулевой суммой 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 15 — 3Sum](https://leetcode.com/problems/3sum/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | сортировка, два указателя | 9 + 10 +## 📝 Условие 11 + 12 +Найдите все **уникальные** тройки чисел массива с суммой 0. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`3 ≤ n ≤ 3000`). Во второй — `n` целых чисел. 21 + 22 +## 📤 Выходные данные 23 + 24 +В первой строке `k` — количество уникальных троек с суммой 0. Далее `k` строк — тройки, каждая по возрастанию, сами тройки — в лексикографическом порядке. 25 + 26 +> [!NOTE] 27 +> На LeetCode порядок троек не важен. 28 + 29 +## 🧪 Тесты 30 + 31 +### Тест 1 32 + 33 +**Ввод:** 34 + 35 +```text 36 +6 37 +-1 0 1 2 -1 -4 38 +``` 39 + 40 +**Вывод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 14. Контейнер с водой 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 11 — Container With Most Water](https://leetcode.com/problems/container-with-most-water/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | два указателя | 9 + 10 +## 📝 Условие 11 + 12 +Высоты вертикальных линий заданы массивом. Выберите две линии, образующие с осью X контейнер наибольшей площади. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`2 ≤ n ≤ 10⁵`). Во второй — `n` чисел `height[i]` (`0 ≤ height[i] ≤ 10⁴`). 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — максимальная площадь. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +9 34 +1 8 6 2 5 4 8 3 7 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +49 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 15. Группировка анаграмм 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 49 — Group Anagrams](https://leetcode.com/problems/group-anagrams/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | хеш-таблицы, строки | 9 + 10 +## 📝 Условие 11 + 12 +Разбейте массив строк на группы анаграмм. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 10⁴`). Далее `n` строк — слова из строчных латинских букв. 21 + 22 +## 📤 Выходные данные 23 + 24 +В первой строке `k` — количество групп. Далее `k` строк — слова каждой группы через пробел, по алфавиту; группы упорядочены по первому слову. 25 + 26 +> [!NOTE] 27 +> На LeetCode порядок групп и слов в группе не важен. 28 + 29 +## 🧪 Тесты 30 + 31 +### Тест 1 32 + 33 +**Ввод:** 34 + 35 +```text 36 +6 37 +eat 38 +tea 39 +tan 40 +ate Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 16. Максимальный подмассив 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 53 — Maximum Subarray](https://leetcode.com/problems/maximum-subarray/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | динамическое программирование | 9 + 10 +## 📝 Условие 11 + 12 +Найдите непрерывный подмассив с наибольшей суммой. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — `n` целых чисел (`-10⁴ ≤ nums[i] ≤ 10⁴`). 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — максимальная сумма непрерывного подмассива. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +9 34 +-2 1 -3 4 -1 2 1 -5 4 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +6 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 17. Слияние отрезков 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 56 — Merge Intervals](https://leetcode.com/problems/merge-intervals/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | сортировка | 9 + 10 +## 📝 Условие 11 + 12 +Объедините все пересекающиеся отрезки. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 10⁴`). Далее `n` строк по два числа `start end` (`start ≤ end`). 21 + 22 +## 📤 Выходные данные 23 + 24 +В первой строке `k` — количество отрезков после слияния. Далее `k` строк `start end` по возрастанию. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +4 34 +1 3 35 +2 6 36 +8 10 37 +15 18 38 +``` 39 + 40 +**Вывод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 18. Грабитель домов 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 198 — House Robber](https://leetcode.com/problems/house-robber/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | динамическое программирование | 9 + 10 +## 📝 Условие 11 + 12 +Нельзя грабить два соседних дома. Какую максимальную сумму можно унести? 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 100`). Во второй — `n` чисел (`0 ≤ nums[i] ≤ 400`) — деньги в домах. 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — максимальная сумма. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +4 34 +1 2 3 1 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +4 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 19. Количество островов 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 200 — Number of Islands](https://leetcode.com/problems/number-of-islands/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | DFS/BFS по сетке | 9 + 10 +## 📝 Условие 11 + 12 +Дана карта из `1` (суша) и `0` (вода). Посчитайте количество островов. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `m` и `n` (`1 ≤ m, n ≤ 300`). Далее `m` строк по `n` символов `0`/`1` без пробелов. 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — количество островов. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +4 5 34 +11110 35 +11010 36 +11000 37 +00000 38 +``` 39 + 40 +**Вывод:** Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 20. Размен монет 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 322 — Coin Change](https://leetcode.com/problems/coin-change/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | динамическое программирование | 9 + 10 +## 📝 Условие 11 + 12 +Найдите минимальное количество монет заданных номиналов, чтобы набрать сумму `amount`, или `-1`. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `n` и `amount` (`1 ≤ n ≤ 12`, `0 ≤ amount ≤ 10⁴`). Во второй — `n` различных номиналов монет. 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — минимальное количество монет или `-1`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 11 34 +1 2 5 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +3 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 21. Подмассивы с суммой K 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 560 — Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | префиксные суммы, хеш-таблицы | 9 + 10 +## 📝 Условие 11 + 12 +Посчитайте количество непрерывных подмассивов с суммой ровно `k` (числа могут быть отрицательными). 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `n` и `k` (`1 ≤ n ≤ 2·10⁴`). Во второй — `n` целых чисел (`-1000 ≤ nums[i] ≤ 1000`). 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — количество подмассивов с суммой `k`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +3 2 34 +1 1 1 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +2 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 22. Тёплые дни 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 739 — Daily Temperatures](https://leetcode.com/problems/daily-temperatures/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | монотонный стек | 9 + 10 +## 📝 Условие 11 + 12 +Для каждого дня найдите, через сколько дней станет теплее. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке число `n` (`1 ≤ n ≤ 10⁵`). Во второй — `n` чисел `temperatures[i]` (`30 ≤ t ≤ 100`). 21 + 22 +## 📤 Выходные данные 23 + 24 +`n` чисел — через сколько дней станет теплее (`0`, если не станет). 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +8 34 +73 74 75 71 69 72 76 73 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +1 1 4 2 1 1 0 0 Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 23. Расписание курсов 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 207 — Course Schedule](https://leetcode.com/problems/course-schedule/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | графы, топологическая сортировка | 9 + 10 +## 📝 Условие 11 + 12 +Есть курсы и зависимости «чтобы пройти A, нужно пройти B». Можно ли пройти все курсы? 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `numCourses` и `p` (`1 ≤ numCourses ≤ 2000`, `0 ≤ p ≤ 5000`). Далее `p` строк `a b` — чтобы пройти курс `a`, нужно сначала пройти курс `b`. Курсы нумеруются с нуля. 21 + 22 +## 📤 Выходные данные 23 + 24 +`true`, если можно пройти все курсы, иначе `false`. 25 + 26 +## 🧪 Тесты 27 + 28 +### Тест 1 29 + 30 +**Ввод:** 31 + 32 +```text 33 +2 1 34 +1 0 35 +``` 36 + 37 +**Вывод:** 38 + 39 +```text 40 +true Разница обрезана: показаны первые 40 строк. -
Показать разницуСкрыть разницу
1 +# 24. Гниющие апельсины 2 + 3 +| | | 4 +|---|---| 5 +| 🎯 **Уровень** | 🟠 Middle | 6 +| 🔗 **Источник** | [LeetCode 994 — Rotting Oranges](https://leetcode.com/problems/rotting-oranges/) | 7 +| 📊 **Сложность** | Medium | 8 +| 🏷️ **Темы** | BFS по сетке | 9 + 10 +## 📝 Условие 11 + 12 +Каждую минуту гнилой апельсин заражает соседей. Через сколько минут сгниют все апельсины? Если никогда — `-1`. 13 + 14 +> [!TIP] 15 +> На LeetCode `main` не нужен: данные приходят аргументами метода класса `Solution`. 16 +> Формат ниже — для запуска у себя через `cin` / `cout`. 17 + 18 +## 📥 Входные данные 19 + 20 +В первой строке два числа `m` и `n` (`1 ≤ m, n ≤ 10`). Далее `m` строк по `n` чисел: `0` — пусто, `1` — свежий апельсин, `2` — гнилой. 21 + 22 +## 📤 Выходные данные 23 + 24 +Одно число — через сколько минут сгниют все апельсины, или `-1`. 25 + 26 +## 🧪 Тесты 27 + Разница обрезана: показаны первые 27 строк. -
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Python 2025-2026/1.4. Конструкция match case. Исключения и их обработка в Python/practices/.DS_StoreДвоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
-
Двоичный файл — показывать нечего.
Разница обрезана: показаны первые 3000 строк.