🏆 Дополнительные задачи по C++#
102 задачи для самостоятельной тренировки — от первых
cin/coutдо дерева отрезков.
У каждой задачи есть ссылка на Codeforces или LeetCode: там полное условие, примеры и автоматическая проверка решения.
🧭 Уровни#
| Уровень | Задач | Что нужно знать | Рейтинг CF / LeetCode |
|---|---|---|---|
| 🟢 Intern | 26 | ввод-вывод, арифметика, if, циклы, строки |
800–1000 · Easy |
| 🔵 Easy | 26 | массивы, строки, сортировка, простая жадность, set / map |
800–1200 · Easy |
| 🟠 Middle | 25 | два указателя, префиксные суммы, бинпоиск, стек, BFS/DFS, базовое ДП | 1100–1700 · Medium |
| 🔴 Senior | 25 | Дейкстра, DSU, дерево отрезков, Фенвик, ДП по отрезкам | 1700–2400 · Hard |
🟢 Intern ──► 🔵 Easy ──► 🟠 Middle ──► 🔴 Senior
«пишу код» «думаю над «знаю «комбинирую
идеей» алгоритмы» алгоритмы»
Совет
Переходи на следующий уровень, когда уверенно решаешь ~70 % задач текущего без подсказок.
📂 Как устроена папка#
Дополнительные задачи/
├── README.md ← ты здесь
├── 1-intern/
│ ├── README.md ← таблица всех задач уровня
│ ├── 01. Арбуз.md
│ └── ...
├── 2-easy/
├── 3-middle/
└── 4-senior/
Каждая задача — отдельный файл:
| Раздел | Что внутри |
|---|---|
| 🔗 Источник | ссылка на оригинал (Codeforces / LeetCode) |
| 📊 Сложность | рейтинг Codeforces или уровень LeetCode |
| 🏷️ Темы | какие идеи пригодятся |
| 📝 Условие | суть задачи на русском |
| 📥 Входные данные | что и в каком порядке подаётся на вход |
| 📤 Выходные данные | что и в каком виде нужно вывести |
| 🧪 Тесты | 2–4 теста с правильными ответами для проверки у себя |
| 💡 Подсказка | спрятана под спойлер — открывай, только если застрял(а) |
🛠️ Как решать#
- Открой файл задачи: прочитай условие, формат ввода и вывода.
- Напиши решение в
.cppфайле и прогони его на всех 🧪 тестах из файла — вывод должен совпасть с ответом (кроме задач, где сказано, что верных ответов несколько). - Отправь решение по ссылке на источник и добейся Accepted ✅ — там десятки скрытых тестов.
- Не получается 20+ минут? Открой 💡 подсказку.
Шаблон для Codeforces#
using namespace std;
int
Важно
На LeetCode
mainписать не нужно: сайт даёт заготовку классаSolution, и ты реализуешь только метод.
Формат ввода/вывода в файлах LeetCode-задач придуман для запуска у себя черезcin/cout— так их удобно тренировать как олимпиадные.
Предупреждение
Если числа могут быть больше ~2·10⁹ — используй
long long, а неint. Это самая частая причинаWrong Answer.
🌐 Источники#
| Платформа | Задач | Особенности |
|---|---|---|
| 🟦 Codeforces | 52 | олимпиадный формат: читаем из cin, пишем в cout; рейтинг 800–2400 |
| 🟨 LeetCode | 46 | формат собеседований: реализуем функцию; Easy / Medium / Hard |
| ✍️ Авторские | 2 | задачи курса с полным условием и ссылкой на похожую задачу |
| 🏅 Олимпиады | 2 | задачи школьного этапа ВсОШ 2026 («Сириус»), восстановленные по пересказу участника |
Заметка
Как запустить C++ у себя на компьютере — смотри «запуск C++ — с чего начать».