✦ Всероссийская олимпиада по программированию
Демонстрационный вариант заданий
28 задач трёх уровней сложности — для ознакомления с форматом олимпиады
LUXCODE · Сезон 2026/2027
Это демонстрационный набор заданий. Он показывает формат условий и уровни сложности будущей олимпиады. Решать задания в этом варианте не нужно — здесь нет проверки решений и системы отправки кода; задачи можно решать на любом языке программирования, приём и автоматическая проверка решений будут реализованы к отборочному этапу. Итоговый банк заданий может отличаться по содержанию.
Уровень 1
Базовые конструкции: условия, циклы, строки, массивы, простая математика
Задача 1.1
Чётность числа
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дано целое число N. Определите, чётное оно или нечётное.
Формат входных данных
Одно целое число N.
Формат выходных данных
Выведите «ЧЁТНОЕ», если число чётное, и «НЕЧЁТНОЕ» — если нечётное.
Ограничения
−10⁹ ≤ N ≤ 10⁹
Пример выходных данных
НЕЧЁТНОЕ
Задача 1.2
Сумма цифр числа
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дано натуральное число N. Найдите сумму его цифр.
Формат входных данных
Одно натуральное число N.
Формат выходных данных
Одно целое число — сумма цифр N.
Задача 1.3
Наибольшее из трёх чисел
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Даны три целых числа. Найдите наибольшее из них.
Формат входных данных
Три целых числа через пробел.
Формат выходных данных
Одно число — наибольшее из трёх.
Ограничения
−10⁹ ≤ значения ≤ 10⁹
Пример входных данных
4 9 2
Задача 1.4
Разворот строки
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана строка. Выведите её символы в обратном порядке.
Формат входных данных
Одна строка длиной от 1 до 1000 символов, без пробелов.
Формат выходных данных
Перевёрнутая строка.
Ограничения
1 ≤ длина строки ≤ 1000
Пример входных данных
робот
Пример выходных данных
тобор
Задача 1.5
Подсчёт гласных в строке
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана строка из строчных русских букв. Посчитайте количество гласных букв (а, е, ё, и, о, у, ы, э, ю, я).
Формат входных данных
Одна строка длиной от 1 до 1000 символов.
Формат выходных данных
Одно целое число — количество гласных.
Ограничения
1 ≤ длина строки ≤ 1000
Пример входных данных
медведь
Задача 1.6
Сумма элементов массива
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дан массив из N целых чисел. Найдите сумму всех его элементов.
Формат входных данных
Первая строка — число N. Вторая строка — N целых чисел через пробел.
Формат выходных данных
Одно число — сумма элементов массива.
Ограничения
1 ≤ N ≤ 10⁵; −10⁴ ≤ элементы ≤ 10⁴
Пример входных данных
5
3 1 4 1 5
Задача 1.7
Максимальный элемент массива
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дан массив из N целых чисел. Найдите наибольший элемент.
Формат входных данных
Первая строка — число N. Вторая строка — N целых чисел через пробел.
Формат выходных данных
Одно число — максимальный элемент массива.
Ограничения
1 ≤ N ≤ 10⁵; −10⁴ ≤ элементы ≤ 10⁴
Пример входных данных
5
3 1 4 1 5
Задача 1.8
Проверка строки на палиндром
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана строка. Определите, является ли она палиндромом — то есть читается ли одинаково слева направо и справа налево.
Формат входных данных
Одна строка длиной от 1 до 1000 символов.
Формат выходных данных
«ДА», если строка палиндром, иначе «НЕТ».
Ограничения
1 ≤ длина строки ≤ 1000
Пример входных данных
шалаш
Задача 1.9
Факториал числа
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дано целое число N. Вычислите N! (произведение всех целых чисел от 1 до N).
Формат входных данных
Одно целое число N.
Формат выходных данных
Одно число — значение N!.
Пример выходных данных
120
Задача 1.10
Количество делителей числа
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дано натуральное число N. Найдите количество его натуральных делителей (включая 1 и само N).
Формат входных данных
Одно натуральное число N.
Формат выходных данных
Одно целое число — количество делителей.
Делители числа 12: 1, 2, 3, 4, 6, 12.
Задача 1.11
Простое число
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дано натуральное число N. Определите, является ли оно простым.
Формат входных данных
Одно натуральное число N.
Формат выходных данных
«ДА», если N простое, иначе «НЕТ».
Задача 1.12
НОД двух чисел
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Даны два натуральных числа. Найдите их наибольший общий делитель.
Формат входных данных
Два натуральных числа через пробел.
Формат выходных данных
Одно число — наибольший общий делитель.
Ограничения
1 ≤ значения ≤ 10⁹
Пример входных данных
18 24
Задача 1.13
Количество слов в строке
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана строка, слова в которой разделены одним пробелом. Посчитайте количество слов.
Формат входных данных
Одна строка длиной до 1000 символов.
Формат выходных данных
Одно целое число — количество слов.
Ограничения
1 ≤ длина строки ≤ 1000
Пример входных данных
жили были дед да баба
Задача 1.14
Замена пробелов на подчёркивания
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана строка. Замените в ней все пробелы на символ подчёркивания «_».
Формат входных данных
Одна строка длиной до 1000 символов.
Формат выходных данных
Строка с заменёнными пробелами.
Ограничения
1 ≤ длина строки ≤ 1000
Пример входных данных
добрый день
Пример выходных данных
добрый_день
Задача 1.15
Таблица умножения
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дано число N. Выведите таблицу умножения числа N на числа от 1 до 10.
Формат входных данных
Одно целое число N.
Формат выходных данных
10 строк вида «N x i = результат», i от 1 до 10.
Пример выходных данных
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
...
4 x 10 = 40
Задача 1.16
Високосный год
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дан год N. Определите, является ли он високосным (делится на 4, но не на 100, либо делится на 400).
Формат входных данных
Одно целое число N.
Формат выходных данных
«ДА», если год високосный, иначе «НЕТ».
Пример входных данных
2024
Задача 1.17
Разворот массива
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дан массив из N чисел. Выведите его элементы в обратном порядке.
Формат входных данных
Первая строка — число N. Вторая строка — N целых чисел.
Формат выходных данных
N чисел через пробел — массив в обратном порядке.
Пример входных данных
5
1 2 3 4 5
Пример выходных данных
5 4 3 2 1
Задача 1.18
Чётные числа в массиве
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дан массив из N чисел. Посчитайте, сколько среди них чётных.
Формат входных данных
Первая строка — число N. Вторая строка — N целых чисел.
Формат выходных данных
Одно число — количество чётных элементов.
Пример входных данных
6
2 5 8 3 10 7
Задача 1.19
Цельсий в Фаренгейт
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана температура C в градусах Цельсия. Переведите её в градусы Фаренгейта по формуле F = C × 9/5 + 32.
Формат входных данных
Одно целое число C.
Формат выходных данных
Одно число — значение в Фаренгейтах.
Ограничения
−273 ≤ C ≤ 1000
Задача 1.20
Вхождения символа в строке
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана строка и символ. Посчитайте, сколько раз символ встречается в строке.
Формат входных данных
Первая строка — текст. Вторая строка — искомый символ.
Формат выходных данных
Одно число — количество вхождений.
Ограничения
1 ≤ длина строки ≤ 1000
Пример входных данных
барабан
а
Уровень 2
Сортировки, рекурсия, структуры данных, работа с текстом посложнее
Задача 2.1
Медиана массива
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дан массив из N чисел. Найдите его медиану — значение, которое окажется в середине массива после сортировки. Если N чётное, выведите среднее арифметическое двух центральных элементов.
Формат входных данных
Первая строка — число N. Вторая строка — N целых чисел.
Формат выходных данных
Одно число — медиана массива.
Пример входных данных
5
7 2 9 4 5
После сортировки: 2, 4, 5, 7, 9 — центральный элемент 5.
Задача 2.2
N-е число Фибоначчи
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Последовательность Фибоначчи задаётся как F(1) = 1, F(2) = 1, F(i) = F(i−1) + F(i−2). Найдите F(N).
Формат входных данных
Одно целое число N.
Формат выходных данных
Одно число — значение F(N).
Задача 2.3
Правильная скобочная последовательность
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дана строка из символов «(», «)», «[», «]», «{», «}». Определите, является ли последовательность скобок правильной (каждой открывающей скобке соответствует закрывающая того же типа в правильном порядке).
Формат входных данных
Одна строка длиной до 1000 символов.
Формат выходных данных
«ДА», если последовательность правильная, иначе «НЕТ».
Ограничения
1 ≤ длина строки ≤ 1000
Пример входных данных
([]{})
Задача 2.4
Самое частое слово в тексте
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Дан текст, слова в котором разделены одним пробелом. Найдите слово, которое встречается чаще всех. Гарантируется, что такое слово единственное.
Формат входных данных
Одна строка длиной до 10⁴ символов.
Формат выходных данных
Слово, встречающееся чаще всего.
Ограничения
1 ≤ длина строки ≤ 10⁴
Пример входных данных
кот пёс кот попугай кот пёс
Пример выходных данных
кот
Задача 2.5
Быстрое возведение в степень
Ограничение времени: 1 секунда · Ограничение памяти: 256 МБ
Условие
Даны числа a и n. Вычислите aⁿ по модулю 1 000 000 007. Простое возведение в степень циклом за O(n) может не уложиться в ограничение времени при больших n — потребуется алгоритм быстрого возведения в степень.
Формат входных данных
Два целых числа a и n через пробел.
Формат выходных данных
Одно число — aⁿ mod 1 000 000 007.
Ограничения
1 ≤ a ≤ 10⁹; 0 ≤ n ≤ 10¹⁸
Пример входных данных
2 10
Пример выходных данных
1024
Уровень 3
Динамическое программирование, графы, жадные алгоритмы, комбинаторика
Задача 3.1
Наибольшая возрастающая подпоследовательность
Ограничение времени: 2 секунды · Ограничение памяти: 256 МБ
Условие
Дан массив из N чисел. Найдите длину наибольшей строго возрастающей подпоследовательности (элементы не обязательно идут подряд, но сохраняют исходный порядок).
Формат входных данных
Первая строка — число N. Вторая строка — N целых чисел.
Формат выходных данных
Одно число — длина наибольшей возрастающей подпоследовательности.
Пример входных данных
8
5 2 8 6 3 6 9 7
Например, подпоследовательность 2, 3, 6, 9 возрастает и имеет длину 4.
Задача 3.2
Кратчайший путь в лабиринте
Ограничение времени: 2 секунды · Ограничение памяти: 256 МБ
Условие
Дан прямоугольный лабиринт из символов «.» (проход), «#» (стена), «S» (старт) и «E» (выход). Найдите минимальное число шагов, чтобы попасть из S в E, перемещаясь на соседнюю клетку вверх, вниз, влево или вправо.
Формат входных данных
Первая строка — числа R и C (число строк и столбцов). Следующие R строк — сам лабиринт.
Формат выходных данных
Одно число — минимальное количество шагов. Гарантируется, что путь существует.
Ограничения
1 ≤ R, C ≤ 500
Пример входных данных
4 4
S.#.
.#..
...#
#..E
Один из кратчайших путей: вниз, вниз, вправо, вниз, вправо, вправо — 6 шагов.
Задача 3.3
Максимум непересекающихся отрезков
Ограничение времени: 2 секунды · Ограничение памяти: 256 МБ
Условие
Дано N отрезков на числовой прямой, каждый задан началом и концом. Выберите наибольшее количество отрезков так, чтобы никакие два из них не пересекались (отрезки могут соприкасаться концами — конец одного равен началу другого).
Формат входных данных
Первая строка — число N. Следующие N строк — по два целых числа: начало и конец отрезка.
Формат выходных данных
Одно число — максимальное количество непересекающихся отрезков.
Пример входных данных
6
1 3
2 5
4 6
5 7
6 8
7 9
Например: отрезки (1,3), (4,6), (6,8) не пересекаются между собой.