Олимпиада ВСОШ Информатика (Программирование) 7-11 класс ответы и задания г. Москва 20.10.2026. Полный доступ к ответам и разбору всероссийской олимпиады, проходящей на площадке МЭШ
5-6 класс ответы
Задание 1. Флажки
В коробке лежали пять флажков: белый, жёлтый, красный, синий, зелёный. Их вытащили и расставили в ряд. Оказалось, что:
1. красный флажок стоит левее жёлтого;
2. между красным и синим флажками стоит ровно один флажок;
3. между красным и зелёным флажками стоят ровно два флажка;
4. белый и красный флажки не стоят рядом.
Расположите флажки в верном порядке слева направо. В ответе запишите порядок флажков пятью буквами: Б, Ж, К, С и З (белый, жёлтый, красный, синий, зелёный).
В ответе должно быть ровно пять указанных букв. Каждая буква должна встречаться ровно один раз.
Смотреть полные ответы на олимпиаду
Задание 2. Разрезание полоски
В клетках полоски бумаги записаны цифры:
5 2 1 3 8 7 4 9 6
Полоску разрезали пятью разрезами по клеточкам на шесть частей. Каждая часть состоит из одной или нескольких идущих подряд цифр. Цифры каждой части образуют одно число.
Найдите такое разбиение, чтобы сумма шести получившихся чисел была минимальной. Чем меньше будет сумма чисел в вашем ответе, тем больше баллов вы получите.
В ответе запишите шесть чисел — по одному на каждую часть, слева направо, в том же порядке, в котором части стоят на полоске. Разделяйте числа запятыми. Числа должны быть записаны в том же порядке, в котором они следуют на полоске.
Смотреть полные ответы на олимпиаду
Задание 3. Монотонный квадрат
В каждой строке и в каждом столбце квадрата 3 × 3 числа должны располагаться либо по возрастанию слева направо (сверху вниз), либо по убыванию. При этом в одной строке (столбце) числа могут идти по возрастанию, а в другой строке (столбце) — по убыванию.
Расставьте числа от 1 до 9, каждое ровно один раз, так, чтобы их сумма в четырёх углах квадрата была как можно большей.
В ответе запишите три строки, каждая строка должна содержать по три числа, все числа от 1 до 9 должны встречаться ровно по одному разу. Числа в строках разделяйте пробелом.
Чем больше сумма чисел в углах квадрата, тем больше баллов вы получите.
Смотреть полные ответы на олимпиаду
Задание 4. Розы и астры
Клумба представляет собой квадратное клетчатое поле со стороной 8 × 8. В каждую клетку этого поля нужно посадить розу или астру.
Если какая-то клетка занята розой, то у этой клетки должны быть ровно две соседние клетки с розами. А у каждой астры должны быть ровно две соседние клетки с астрами. Два цветка считаются соседними, если они растут в клетках с общей стороной: у клетки всего четыре соседа — сверху, снизу, слева и справа. У клеток на сторонах квадрата — три соседа, у клеток в углу — два соседа.
Расположите цветы на клумбе так, чтобы роз оказалось как можно меньше, а астр — как можно больше.
В ответе запишите 8 строк, в каждой строке должно быть 8 цифр, равных 0 или 1. Цифра 1 означает розу, цифра 0 — астру. Между цифрами могут стоять пробелы или табуляции.
Ответ можно подготовить в текстовом редакторе или в электронных таблицах, затем выделить его, скопировать и вставить в поле ввода. Чем больше астр (то есть цифр 0) окажется в вашем ответе, тем больше баллов вы получите.
Например, если верхнюю половину огорода засеять розами, а нижнюю — астрами, как на рисунке выше, то ответ нужно будет записать в следующем виде:
Этот ответ приведён только для примера формы записи ответа, и проверяющая система его не примет. Ваш ответ будет принят на проверку, только если для каждой клетки выполняются правила по числу цветов в соседних с ней клетках.
Смотреть полные ответы на олимпиаду
Задание 5. Редактирование строки
Исполнитель «Редактор» работает со строками, состоящими из букв английского алфавита. У исполнителя есть две команды.
A > B — заменить все буквы A в строке на буквы B;
AB > CD — заменить все пары соседних букв AB на пары букв CD. Эта команда выполняет замены слева направо, при этом заменённая буква не участвует в последующих заменах этой команды (но может быть заменена следующими командами).
В обозначениях команд буквами A, B, C и D обозначены произвольные буквы английского алфавита. Среди этих букв могут быть совпадающие. Например, если применить команду «AB > BA» к строке «ABBAB», то получится строка «BABBA» (пары символов, где прошли замены, подчёркнуты).
Напишите для исполнителя программу, которая из строки «ABBCBABCBA» получает строку «BCBDBABAAD». Чем меньше операций будет в вашем ответе, тем больше баллов вы получите.
В ответе выпишите операции по одной в строке, каждую в виде A > B или AB > CD. Знак > обязателен, пробелы вокруг него можно не писать.
Смотреть полные ответы на олимпиаду
7-8 класс ответы
Задание 1. Разрезание полоски
В клетках полоски бумаги записаны цифры:
5 2 1 3 8 7 4 9 6
Полоску разрезали пятью разрезами по клеточкам на шесть частей. Каждая часть состоит из одной или нескольких идущих подряд цифр. Цифры каждой части образуют одно число.
Найдите такое разбиение, чтобы сумма шести получившихся чисел была минимальной. Чем меньше будет сумма чисел в вашем ответе, тем больше баллов вы получите.
В ответе запишите шесть чисел — по одному на каждую часть, слева направо, в том же порядке, в котором части стоят на полоске. Разделяйте числа запятыми. Числа должны быть записаны в том же порядке, в котором они следуют на полоске.
Смотреть полные ответы на олимпиаду
Задание 2. Редактирование строки
Исполнитель «Редактор» работает со строками, состоящими из букв английского алфавита. У исполнителя есть две команды.
A > B — заменить все буквы A в строке на буквы B;
AB > CD — заменить все пары соседних букв AB на пары букв CD. Эта команда выполняет замены слева направо, при этом заменённая буква не участвует в последующих заменах этой команды (но может быть заменена следующими командами).
В обозначениях команд буквами A, B, C и D обозначены произвольные буквы английского алфавита. Среди этих букв могут быть совпадающие. Например, если применить команду «AB > BA» к строке «ABBAB», то получится строка «BABBA» (пары символов, где прошли замены, подчёркнуты).
Напишите для исполнителя программу, которая из строки «ABBCBABCBA» получает строку «BCBDBABAAD». Чем меньше операций будет в вашем ответе, тем больше баллов вы получите.
В ответе выпишите операции по одной в строке, каждую в виде A > B или AB > CD. Знак > обязателен, пробелы вокруг него можно не писать.
Смотреть полные ответы на олимпиаду
Задание 3. Мобильный интернет
Мобильный оператор предлагает тариф, в который каждый месяц включено A мегабайт интернета. Тариф стоит B рублей.
Если абоненту требуется больше A мегабайт, он может покупать дополнительные пакеты. Один пакет содержит 100 мегабайт и стоит C рублей. Купить часть пакета нельзя.
Вам известен объём интернет-трафика M, израсходованный абонентом за месяц. Сколько рублей ему необходимо заплатить за интернет?
Рассмотрим пример. Если A = 1000, B = 500, C = 50, M = 1750, то за абонентскую плату в 500 рублей пользователь получит 1000 мегабайт и ему придётся дополнительно приобрести 8 пакетов по 100 мегабайт. Цена одного пакета 50 рублей, и всего пользователь заплатит 500 + 8 · 50 = 900 рублей.
Для выполнения этого задания вам даны 20 наборов значений A, B, C, M. Вы должны найти ответ для этих наборов данных. Данные содержатся в файле, который вы можете скачать в формате электронной таблицы LibreOffice Calc или Microsoft Excel. В одной строке таблицы записаны значения A, B, C, M:
A — количество мегабайт, включённых в тариф;
B — стоимость тарифа в рублях;
C — стоимость одного дополнительного пакета в рублях;
M — объём потреблённого за месяц интернет-трафика в мегабайтах.
Вам необходимо получить ответ для каждого из 20 наборов. Для проведения вычислений вы можете использовать электронные таблицы, языки программирования или другие приложения.
Ответ запишите в виде 20 чисел, каждое в отдельной строке. Если вы не можете дать ответ для какого-либо набора, запишите любое натуральное число. Каждый правильный ответ будет оцениваться в 5 баллов.
Приложенные файлы: data.ods, data.xlsx.
Смотреть полные ответы на олимпиаду
Задание 4. Доставка в Простоквашино
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Недавно почтальон Печкин прочитал в газете о новых роботах-доставщиках и решил использовать одного из них для развоза почты. Он планирует внедрять данную инновацию в деревне Простоквашино, которую можно представить как длинную улицу: в начале — отделение почты, за ним — жилые дома, расположенные в ряд на равном расстоянии друг от друга.
Чтобы проехать от отделения почты до первого дома или от одного дома до соседнего, роботу Печкина требуется a единиц энергии. Если робот имеет меньше a единиц энергии, он не сможет доехать до следующего дома. При этом предусмотрительный почтальон возле каждого дома разместил зарядную станцию, на которой уровень заряда робота может увеличиться на b единиц. Каждой зарядной станцией робот может воспользоваться только один раз.
В качестве «тестового задания» Печкин хочет доставить с помощью робота журнал «Мурзилка» дяде Фёдору, который живёт в k-м по счёту от почты доме. Теперь ему предстоит выяснить, на какое минимальное число единиц энергии ему необходимо изначально зарядить робота, чтобы тот мог доехать от почты до дома дяди Фёдора.
Входные данные
В первой строке входных данных содержится целое число a (0 ≤ a ≤ 10⁹) — количество энергии, необходимое роботу для того, чтобы проехать расстояние между двумя домами.
Во второй строке содержится целое число b (0 ≤ b ≤ 10⁹) — количество энергии, на которое робот может зарядиться у каждого дома.
В третьей строке содержится целое число k (1 ≤ k ≤ 10⁹) — номер (по счёту от почты) дома дяди Фёдора.Гарантируется, что a · k ≤ 2 · 10⁹.
Выходные данные
Выведите одно число — минимальное количество единиц энергии, на которое Печкину необходимо зарядить робота.
Система оценки
Решения, правильно работающие при a, k ≤ 100, будут оцениваться в 30 баллов.
Решения, правильно работающие при k ≤ 5 · 10⁵, будут оцениваться в 75 баллов.
Решения, корректно работающие при a ≤ b, будут оцениваться в 35 баллов.
Замечание
В первом примере из условия достаточно зарядить робота на 6 единиц энергии. На дорогу до первого дома он потратит 2 единицы, и у первого дома он зарядится на 1 единицу, у него останется 5 единиц. После зарядки у второго дома останется 4 единицы энергии, у третьего — 3, у четвёртого — 2, и доставщику хватит энергии, чтобы добраться до пятого дома. Можно показать, что меньшего количества энергии роботу не хватит.
Пример 1
Ввод:
2
1
5
Вывод:
6
Пример 2
Ввод:
2
4
10
Вывод:
2
Смотреть полные ответы на олимпиаду
Задание 5. Места в автобусе
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Нумерация мест в автобусе устроена так, как показано на рисунке.
На рисунке изображены первые пять рядов мест. Если в автобусе больше пяти рядов, последующие ряды нумеруются аналогично.
Два друга купили билеты на места с номерами x и y. Они планируют играть в шахматы во время поездки и хотят определить, насколько удобно им будет играть на этих местах. Они разделили варианты расположения мест на четыре категории.
1. — друзья сидят рядом, с одной стороны от прохода. Например, места 1 и 2 или 7 и 8.
2. — друзья сидят в одном ряду, по разные стороны от прохода, оба места находятся у прохода. Например, места 2 и 4.
3. — друзья сидят в соседних рядах, с одной и той же стороны от прохода. Например, места 1 и 5 или 4 и 7.
4. — во всех остальных случаях.
Помогите определить, насколько удобно друзьям играть в шахматы.
Входные данные
В первой строке входных данных записано целое число x — номер места первого друга.
Во второй строке записано целое число y — номер места второго друга.
Числа x и y различны и удовлетворяют условиям 1 ≤ x ≤ 10⁹, 1 ≤ y ≤ 10⁹.
Выходные данные
Программа должна вывести одно целое число от 1 до 4 — категорию удобства расположения мест.
Пример 1
Ввод:
1
2
Вывод:
1
Пример 2
Ввод:
4
2
Вывод:
2
Смотреть полные ответы на олимпиаду
Задание 6. Кофе помогает от кофе
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Миша — прилежный ученик и очень любит ходить в школу, а после школы, как уважающий себя программист, любит заходить за кофе. Однажды Миша выпил слишком много кофе и совершенно забыл, где находится его школа. В блокноте у Миши записаны координаты его дома (x₁, y₁). Кофейня находится в точке (x₂, y₂). Школа, дом и кофейня находятся в точках с целыми координатами, при этом координаты могут совпадать.
У Миши есть шагомер, который показывает, что сегодня он прошёл ровно d шагов. За один шаг Миша проходит расстояние, равное 1; он может двигаться только параллельно осям координат.
Миша уверен, что утром он прошёл кратчайшим путём от дома до школы, а после школы — кратчайшим путём от школы до кофейни.
Помогите Мише найти хотя бы одну возможную позицию школы или сообщите, что Миша где-то ошибся и не существует такой позиции школы, при которой он мог бы пройти ровно d шагов.
Входные данные
В первых двух строках входных данных записаны координаты дома Миши: в первой строке — число x₁, во второй строке — число y₁.
В следующих двух строках записаны координаты кофейни: в третьей строке — число x₂, в четвёртой строке — число y₂.
В пятой строке содержится целое число d (0 ≤ d ≤ 10⁹) — количество шагов, пройденных Мишей от дома до кофейни.
Все числа целые, неотрицательные и не превосходят 10⁹.
Выходные данные
Программа должна вывести два целых числа — координаты школы Миши. Значения координат по модулю не должны превосходить 2 · 10⁹. Если есть несколько возможных расположений школы, нужно вывести любое из них. Если подходящей точки для школы не существует, программа должна вывести число −1.
Система оценки
Решения, правильно работающие, когда все числа во входных данных не превосходят 500, будут оцениваться в 30 баллов.
Решения, правильно работающие, когда d ≤ 500, будут оцениваться в 50 баллов.
Пример 1
Ввод:
0
0
2
2
6
Вывод:
-1 0
Пример 2
Ввод:
1
7
9
0
10
Вывод:
-1
Смотреть полные ответы на олимпиаду
9-11 класс ответы
Задание 1. Доставка в Простоквашино
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Недавно почтальон Печкин прочитал в газете о новых роботах-доставщиках и решил использовать одного из них для развоза почты. Он планирует внедрять данную инновацию в деревне Простоквашино, которую можно представить как длинную улицу: в начале — отделение почты, за ним — жилые дома, расположенные в ряд на равном расстоянии друг от друга.
Чтобы проехать от отделения почты до первого дома или от одного дома до соседнего, роботу Печкина требуется a единиц энергии. Если робот имеет меньше a единиц энергии, он не сможет доехать до следующего дома. При этом предусмотрительный почтальон возле каждого дома разместил зарядную станцию, на которой уровень заряда робота может увеличиться на b единиц. Каждой зарядной станцией робот может воспользоваться только один раз.
В качестве «тестового задания» Печкин хочет доставить с помощью робота журнал «Мурзилка» дяде Фёдору, который живёт в k-м по счёту от почты доме. Теперь ему предстоит выяснить, на какое минимальное число единиц энергии ему необходимо изначально зарядить робота, чтобы тот мог доехать от почты до дома дяди Фёдора.
Входные данные
В первой строке входных данных содержится целое число a (0 ≤ a ≤ 10⁹) — количество энергии, необходимое роботу для того, чтобы проехать расстояние между двумя домами.
Во второй строке содержится целое число b (0 ≤ b ≤ 10⁹) — количество энергии, на которое робот может зарядиться у каждого дома.
В третьей строке содержится целое число k (1 ≤ k ≤ 10⁹) — номер (по счёту от здания почты) дома дяди Фёдора.
Гарантируется, что a · k ≤ 2 · 10⁹.
Выходные данные
Выведите одно число — минимальное количество единиц энергии, на которое Печкину необходимо зарядить робота.
Система оценки
Решения, правильно работающие при a, k ≤ 100, будут оцениваться в 30 баллов.
Решения, правильно работающие при k ≤ 5 · 10⁵, будут оцениваться в 75 баллов.
Решения, корректно работающие при a ≤ b, будут оцениваться в 35 баллов.
Пример 1
Ввод:
2
1
5
Вывод:
6
Пример 2
Ввод:
2
4
10
Вывод:
2
Примечание
В первом примере из условия достаточно зарядить робота на 6 единиц энергии. На дорогу до первого дома он потратит 2 единицы, и у первого дома он зарядится на 1 единицу, у него останется 5 единиц. После зарядки у второго дома останется 4 единицы энергии, у третьего — 3, у четвёртого — 2, и доставщику хватит энергии, чтобы добраться до пятого дома. Можно показать, что меньшего количества энергии роботу не хватит.
Смотреть полные ответы на олимпиаду
Задание 2. Места в автобусе
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Нумерация мест в автобусе устроена так, как показано на рисунке.
На рисунке изображены первые пять рядов мест. Если в автобусе больше пяти рядов, последующие ряды нумеруются аналогично.
Два друга купили билеты на места с номерами x и y. Они планируют играть в шахматы во время поездки и хотят определить, насколько удобно им будет играть на этих местах. Они разделили варианты расположения мест на четыре категории.
1. — друзья сидят рядом, с одной стороны от прохода. Например, места 1 и 2 или 7 и 8.
2. — друзья сидят в одном ряду, по разные стороны от прохода, оба места находятся у прохода. Например, места 2 и 4.
3. — друзья сидят в соседних рядах, с одной и той же стороны от прохода. Например, места 1 и 5 или 4 и 7.
4. — во всех остальных случаях.
Помогите определить, насколько удобно друзьям играть в шахматы.
Смотреть полные ответы на олимпиаду
Входные данные
В первой строке входных данных записано целое число x — номер места первого друга.
Во второй строке записано целое число y — номер места второго друга.
Числа x и y различны и удовлетворяют условиям 1 ≤ x ≤ 10⁹, 1 ≤ y ≤ 10⁹.
Выходные данные
Программа должна вывести одно целое число от 1 до 4 — категорию удобства расположения мест.
Пример 1
Ввод:
1
2
Вывод:
1
Пример 2
Ввод:
4
2
Вывод:
2
Смотреть полные ответы на олимпиаду
Задание 3. Три Кирилла и их рост
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Три Кирилла участвовали в турнире по волейболу. Чтобы различать всех Кириллов, им дали номера «первый», «второй» и «третий».
Оказалось, что первый Кирилл не выше второго, а второй — не выше третьего. Также друзья в перерыве между мероприятиями решили встать друг другу на головы и поставить блок, и таким образом выяснили, что их суммарный рост равен n.
Кириллы сообщили вам число n и просят посчитать количество различных вариантов значений их роста. Два варианта считаются различными, если у хотя бы одного Кирилла отличается рост в этих вариантах.
Иными словами, если обозначить рост первого, второго и третьего Кириллов целыми положительными числами a, b и c соответственно, необходимо найти количество троек целых положительных чисел a, b, c — таких, что a ≤ b ≤ c и a + b + c = n.
Входные данные
Программа получает на вход одно целое число n (3 ≤ n ≤ 2 × 10⁹) — сумму ростов Кириллов.
Выходные данные
Программа должна вывести одно целое число — количество возможных вариантов роста Кириллов.
Обратите внимание на то, что значение ответа в этой задаче может превышать максимальное возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
Система оценки
Решения, правильно работающие при n ≤ 100, будут оцениваться в 25 баллов.
Решения, правильно работающие при n ≤ 2000, будут оцениваться в 50 баллов.
Решения, правильно работающие при n ≤ 10⁶, будут оцениваться в 80 баллов.
Пример 1
Ввод:
3
Вывод:
1
Пример 2
Ввод:
7
Вывод:
4
Примечание
Во втором примере из условия подходят следующие варианты роста:
7 = 1 + 1 + 5 = 1 + 2 + 4 = 1 + 3 + 3 = 2 + 2 + 3.
Смотреть полные ответы на олимпиаду
Задание 4. Очередь на заправку
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
На заправке есть две колонки: одна предназначена для машин с горловиной бензобака справа, другая — для машин с горловиной слева. Каждая машина может заправиться только на подходящей для неё колонке.
Перед заправкой образовалась очередь. i-я машина в очереди заправляется tᵢ минут, также для каждой машины известно расположение горловины бензобака. Очередь к колонкам общая, машины в очереди не могут обгонять друг друга. Поэтому следующая машина может начать заправку только после того, как предыдущая машина заедет на заправку, и только если подходящая для неё колонка свободна.
Сколько времени потребуется, чтобы заправить все машины? Изначально обе колонки свободны. Временем, необходимым для передвижения машин, следует пренебречь.
Входные данные
Первая строка входных данных содержит одно целое число n (1 ≤ n ≤ 10⁵) — количество машин.
Каждая из следующих n строк содержит одно целое число tᵢ (−10⁹ ≤ tᵢ ≤ 10⁹, tᵢ ≠ 0).
Знак числа обозначает расположение горловины бензобака (tᵢ < 0 для горловины слева, иначе справа), модуль — продолжительность заправки.
Выходные данные
Программа должна вывести одно целое число — сколько минут необходимо на заправку всех машин.
Обратите внимание на то, что значение ответа в этой задаче может превышать максимальное возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
Система оценки
Решения, правильно работающие при |t₁| + |t₂| + … + |tₙ| ≤ 10⁵, будут оцениваться в 30 баллов.
Решения, правильно работающие при |t₁| + |t₂| + … + |tₙ| ≤ 2 · 10⁹, будут оцениваться в 50 баллов.
Пример
Ввод:
3
-1
-2
3
Вывод:
4
Примечание
Пояснение к примеру из условия:
первая машина заезжает сразу и заправляется 1 минуту;
вторая машина ждёт 1 минуту, чтобы освободилась её колонка, затем заезжает и заправляется 2 минуты;
третья машина заезжает сразу после второй и заправляется 3 минуты.
Поскольку вторая и третья машины начинают заправку одновременно, последняя машина заканчивает заправку через 1 + 3 = 4 минуты после начала заправки первой.
Смотреть полные ответы на олимпиаду
Задание 5. Мост из отрезков
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
У вас есть n фрагментов для строительства моста. Каждый фрагмент имеет единичную длину. Используя все эти фрагменты, постройте мост, соединяющий точку (0, 0) с точкой (x, y). Мост представляет собой несамопересекающуюся ломаную, состоящую из n отрезков единичной длины. Концы каждого отрезка должны иметь целочисленные координаты, а каждый отрезок должен быть параллелен одной из осей координат.
Входные данные
Первая строка входных данных содержит целое число n — количество фрагментов моста, 1 ≤ n ≤ 10⁵. В следующих двух строках содержатся целые числа x и y — координаты конца моста. Числа x и y целые, по модулю не превосходят 10⁵, при этом точка (x, y) не совпадает с началом координат.
Выходные данные
Если такой мост построить нельзя, программа должна вывести число −1.
Если такой мост построить можно, программа должна вывести n + 1 строку, в каждой строке должно быть два целых числа — координаты вершин ломаной в порядке обхода. Первая вершина должна иметь координаты (0, 0), последняя — (x, y). Две соседние вершины ломаной должны находиться на расстоянии 1. Ломаная не должна иметь самопересечений. Можно вывести любой подходящий мост.
Пример 1
Ввод:
7
2
-1
Вывод:
0 0
1 0
1 -1
1 -2
2 -2
3 -2
3 -1
2 -1
Пример 2
Ввод:
1
1000
1000
Вывод:
-1
Примечание
Мост из первого примера изображён на рисунке.
Смотреть полные ответы на олимпиаду