Привет! С вами Азат Калмыков, куратор в «ШАД Helper». Мы продолжаем наш цикл статей, в которых разбираем задачи для поступления в ШАД. На этот раз мы (я, Николай Проскурин и Александр Курилкин) посмотрим на решения первого этапа отбора в ШАД в этом году, который закончился совсем недавно. Итак, приступим.
При каких значениях параметра a первообразная функции имеет не более одного локального минимума?
Определите, при каком значении данный предел равен :
При какой минимальной длине шага градиентный спуск не сможет найти минимум функции , если ?
Определите, при каких значениях параметра a вектор является собственным вектором матрицы
При каких значениях параметра максимален определитель матрицы, обратной к этой?
Даны точки и , а также плоскости : и :. Найдите координаты точки , если известно, что её ортогональная проекция на совпадает с проекцией точки , а на — с проекцией точки .
В далёком созвездии Тау-Кита на каждой половинке костяшки домино стоит от до точек, причём для каждой пары чисел таких, что и целые от до , существует ровно одна доминошка, содержащая оба этих числа. Космический турист прилетел и выбрал наугад перевёрнутую костяшку. При каком математическое ожидание модуля разности количеств точек на одной и на другой половине этой доминошки будет равно ?
Два друга решили вместе пойти на экзамены в ШАД и договорились встретиться у входа с 14:00 до 15:00, но не договорились во сколько именно. Момент времени прихода каждого из них распределён равномерно на этом отрезке времени, но друзья нетерпеливые, поэтому через 15 минут ожидания они отчаиваются дождаться и заходят одни. Известно, что они встретились.
Найдите вероятность того, что оба пришли до 14:45.
Плотность распределения случайной величиы равна при от до и нулю при всех остальных .
Найдите значение, которое эта случайная величина не превосходит с вероятностью .
A. Локальный минимум
При каких значениях параметра a первообразная функции имеет не более одного локального минимума?
Решение
Заметим, что производная от первообразной — это исходная функция. Значит, нам нужно исследовать на смену знака нашу исходную функцию. Конкретно, надо понять, сколько раз функция меняет знак с минуса на плюс (то есть посчитать количество точек локального минимума).
Заметим, что экспонента всегда положительна, не влияет на знак, поэтому её можно откинуть и считать, что . Многочлен легко раскладывается на множители, потому что все его корни можно угадать: это . Значит, .
Если многочлен имеет четыре различных корня, то он меняет знак в порядке , и потому имеет хотя бы два локальных минимума. Значит, нам могут подойти только . Прямая проверка показывает, что все они являются ответами.
Заметим, что экспонента всегда положительна, не влияет на знак, поэтому её можно откинуть и считать, что . Многочлен легко раскладывается на множители, потому что все его корни можно угадать: это . Значит, .
Если многочлен имеет четыре различных корня, то он меняет знак в порядке , и потому имеет хотя бы два локальных минимума. Значит, нам могут подойти только . Прямая проверка показывает, что все они являются ответами.
B. Предел
Определите, при каком значении данный предел равен :
Решение
Сначала посчитаем предел, приняв . Поскольку , мы можем разложить функцию в ряд Тейлора в нуле:
Ограничим ряд сверху и снизу и воспользуемся теоремой о двух милиционерах. Заметим, что сумма больше первых двух слагаемых, так как группируя последующие слагаемые по два, мы получим бесконечное число положительных чисел, которые мы откидываем. Аналогично, сверху сумму можно оценить суммой первых трёх слагаемых. Значит:
Поскольку , от возведения в степень неравенство сохранится, а при переходе к пределу изменится только строгость знаков. Левую часть можно посчитать сразу как следствие из второго замечательного предела, она равна . Покажем, что правая равна тому же:
Применяя правило Лопиталя, получаем требуемое. Значит:
Откуда .
Примечание: зная, что степенной ряд можно бесконечно дифференцировать в области сходимости, можно было пропустить шаг с оценкой ряда и сразу применить Лопиталя.
Ограничим ряд сверху и снизу и воспользуемся теоремой о двух милиционерах. Заметим, что сумма больше первых двух слагаемых, так как группируя последующие слагаемые по два, мы получим бесконечное число положительных чисел, которые мы откидываем. Аналогично, сверху сумму можно оценить суммой первых трёх слагаемых. Значит:
Поскольку , от возведения в степень неравенство сохранится, а при переходе к пределу изменится только строгость знаков. Левую часть можно посчитать сразу как следствие из второго замечательного предела, она равна . Покажем, что правая равна тому же:
Применяя правило Лопиталя, получаем требуемое. Значит:
Откуда .
Примечание: зная, что степенной ряд можно бесконечно дифференцировать в области сходимости, можно было пропустить шаг с оценкой ряда и сразу применить Лопиталя.
C. Локальный минимум
При какой минимальной длине шага градиентный спуск не сможет найти минимум функции , если ?
Решение
Вспомним, что шаг градиентного спуска при константной длине шага считатеся следующим образом:
.
В нашем случае градиент — это обычная одномерная производная, так что наша задача проще градиентного спуска в общем случае.
нам известно, давайте посчитаем :
Давайте заметим что, при значение градиента будет таким же по модулю, как в точке , но иметь обратный знак. Таким образом, можно понять, что при таком варианте градиентный спуск будет «скакать» туда-сюда из точки в и обратно. Таким образом, можно понять, что при градиентный спуск уже не найдёт точку минимума (это точка ). Но надо показать, что при меньших она будет найдена.
Это можно понять и интуитивно, но давайте попробуем доказать строго. Можно доказать что по индукции. Здесь нам важно, что
База:
Переход. . За счёт предположения индукции можем получить что . Тогда . Всё доказано.
Пользуясь доказанным, можно получить, что . Так как знаем, что , то получим что сходится к нулю. Значит градиент находит минимум.
.
В нашем случае градиент — это обычная одномерная производная, так что наша задача проще градиентного спуска в общем случае.
нам известно, давайте посчитаем :
Давайте заметим что, при значение градиента будет таким же по модулю, как в точке , но иметь обратный знак. Таким образом, можно понять, что при таком варианте градиентный спуск будет «скакать» туда-сюда из точки в и обратно. Таким образом, можно понять, что при градиентный спуск уже не найдёт точку минимума (это точка ). Но надо показать, что при меньших она будет найдена.
Это можно понять и интуитивно, но давайте попробуем доказать строго. Можно доказать что по индукции. Здесь нам важно, что
База:
Переход. . За счёт предположения индукции можем получить что . Тогда . Всё доказано.
Пользуясь доказанным, можно получить, что . Так как знаем, что , то получим что сходится к нулю. Значит градиент находит минимум.
D. Собственный вектор
Определите, при каких значениях параметра a вектор является собственным вектором матрицы
Решение
По определению, вектор является собственным для матрицы , если : . Получаем уравнение:
По первой координате получаем. что , по второй — что , проверяем, что третья координата согласуется с ответом. Значит, .
По первой координате получаем. что , по второй — что , проверяем, что третья координата согласуется с ответом. Значит, .
E. Определитель
При каких значениях параметра максимален определитель матрицы, обратной к этой?
Решение
Посчитаем определитель исходной матрицы:
Несложно понять, что производная строго возрастает, значит, точка, в которой производная обнуляется, это точка минимума функции , откуда и минимум достигается в точности в . Тогда, пользуясь формулой , получаем, что максимум определителя обратной матрицы достигается в .
Несложно понять, что производная строго возрастает, значит, точка, в которой производная обнуляется, это точка минимума функции , откуда и минимум достигается в точности в . Тогда, пользуясь формулой , получаем, что максимум определителя обратной матрицы достигается в .
F. Проекции
Даны точки и , а также плоскости : и :. Найдите координаты точки , если известно, что её ортогональная проекция на совпадает с проекцией точки , а на — с проекцией точки .
Решение
Если имеет ту же проекцию на плоскость, что и , то она лежит на прямой, перпендикулярной плоскости и содержащей . Эту прямую можно задать параметрически, поскольку мы знаем точку и направляющий вектор, который совпадает с вектором нормали к и потому равен . Система для прямой:
Аналогично, лежит на прямой, проходящей через и перпендикулярной . Вектор нормали: , система:
Пересечение прямых и будет являться искомой точкой. Для её нахождения нужно определить и , для этого достаточно приравнять первые два уравнения систем:
Подставив параметры в обе системы, убеждаемся, что получили одну и ту же точку , которая и является искомой.
Аналогично, лежит на прямой, проходящей через и перпендикулярной . Вектор нормали: , система:
Пересечение прямых и будет являться искомой точкой. Для её нахождения нужно определить и , для этого достаточно приравнять первые два уравнения систем:
Подставив параметры в обе системы, убеждаемся, что получили одну и ту же точку , которая и является искомой.
G. Домино
В далёком созвездии Тау-Кита на каждой половинке костяшки домино стоит от до точек, причём для каждой пары чисел таких, что и целые от до , существует ровно одна доминошка, содержащая оба этих числа. Космический турист прилетел и выбрал наугад перевёрнутую костяшку. При каком математическое ожидание модуля разности количеств точек на одной и на другой половине этой доминошки будет равно ?
Решение
Обозначим случайную величину за , вероятностное пространство за и образ случайной величины за . Будем считать матожидание по формуле:
Пусть — событие, что величина примет значение , тогда . Домножив на , получаем:
Посчитаем . Во-первых, в него входят доминошки с одинаковыми числами на половинках. Во-вторых, в него входят все возможные пары различных чисел, причем каждая по одному разу. Значит, .
Теперь посчитаем сумму. Понятно, что величина принимает значения от 0 до . Сколько раз она принимает значение ? Ровно : благоприятные исходы — это доминошки . Значит:
Получаем уравнение:
Поскольку , получаем, что .
Пусть — событие, что величина примет значение , тогда . Домножив на , получаем:
Посчитаем . Во-первых, в него входят доминошки с одинаковыми числами на половинках. Во-вторых, в него входят все возможные пары различных чисел, причем каждая по одному разу. Значит, .
Теперь посчитаем сумму. Понятно, что величина принимает значения от 0 до . Сколько раз она принимает значение ? Ровно : благоприятные исходы — это доминошки . Значит:
Получаем уравнение:
Поскольку , получаем, что .
H. Экзамен
Два друга решили вместе пойти на экзамены в ШАД и договорились встретиться у входа с 14:00 до 15:00, но не договорились во сколько именно. Момент времени прихода каждого из них распределён равномерно на этом отрезке времени, но друзья нетерпеливые, поэтому через 15 минут ожидания они отчаиваются дождаться и заходят одни. Известно, что они встретились.
Найдите вероятность того, что оба пришли до 14:45.
Решение
Для того, чтобы решить эту задачу, нам нужно немного порисовать. А именно, давайте нарисуем квадрат 60x60. Ось x будет обозночать время прихода первого, y — второго.
Событие «друзья встретились» изображено на рисунке красной областью. Событие «каждый пришёл до 14:45» обозначено пересечением 2 зелёных областей. Пользуясь тем, что время прихода каждого из друзей распределено равномерно, можем понять, что вероятность того, что «каждый пришёл до 14:45» при условии, что «друзья встретились» это отношение площади пересечения всех 3 областей к площади красной области. Применяя теорему пифагора и простой счёт, можем получить ответ .
Событие «друзья встретились» изображено на рисунке красной областью. Событие «каждый пришёл до 14:45» обозначено пересечением 2 зелёных областей. Пользуясь тем, что время прихода каждого из друзей распределено равномерно, можем понять, что вероятность того, что «каждый пришёл до 14:45» при условии, что «друзья встретились» это отношение площади пересечения всех 3 областей к площади красной области. Применяя теорему пифагора и простой счёт, можем получить ответ .
I. Случайная величина
Плотность распределения случайной величиы равна при от до и нулю при всех остальных .
Найдите значение, которое эта случайная величина не превосходит с вероятностью .
Решение
Выразим искомую величину через плотность и воспользуемся универсальной тригонометрической подстановкой:
Получили уравнение:
Получили уравнение:
J. Найти среднее
Условие
Костя разрабатывает модуль статистики для высоконагруженного сервиса. Накопилось много исторических данных: n вещественных чисел .
Из-за частого обращения к его модулю за вычислением среднего геометрического эту функцию необходимо ускорить!
На вход поступают множество запросов по поиску среднего на интервале индексов от l до r. Найдите необходимые значения.
Для запроса от до необходимо вернуть величину:
В первой строке входных данных записано число ().
Во второй строке записаны n вещественных чисел () с двумя десятичными знаками.
В третьей строке входных данных записано число () — количество запросов.
Далее в строках записано по два целых числа и () — -й запрос на вычисление среднего.
Для каждого запроса на вычисление среднего выведите найденное значение с 6 верными знаками после точки.
Ответы должны следовать в соответствии с порядком запросов.
Костя считает, что его реализация функции эффективно использует соотношение . Но вы можете это соотношение не использовать.
Ограничение времени | 2 секунды |
Ограничение памяти | 256Mb |
Ввод | стандартный ввод или input.txt |
Вывод | стандартный вывод или output.txt |
Костя разрабатывает модуль статистики для высоконагруженного сервиса. Накопилось много исторических данных: n вещественных чисел .
Из-за частого обращения к его модулю за вычислением среднего геометрического эту функцию необходимо ускорить!
На вход поступают множество запросов по поиску среднего на интервале индексов от l до r. Найдите необходимые значения.
Для запроса от до необходимо вернуть величину:
Формат ввода
В первой строке входных данных записано число ().
Во второй строке записаны n вещественных чисел () с двумя десятичными знаками.
В третьей строке входных данных записано число () — количество запросов.
Далее в строках записано по два целых числа и () — -й запрос на вычисление среднего.
Формат вывода
Для каждого запроса на вычисление среднего выведите найденное значение с 6 верными знаками после точки.
Ответы должны следовать в соответствии с порядком запросов.
Пример 1
Ввод | Вывод |
8 79.02 36.68 79.83 76.00 95.48 48.84 49.95 91.91 10 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 1 7 2 7 |
79.020000 53.837288 61.391865 64.756970 69.986085 65.913194 63.352986 66.369195 64.735454 71.164108 |
Пример 2
Ввод | Вывод |
1 1.00 1 0 0 |
1.000000 |
Пример 3
Ввод | Вывод |
8 1.34 1.37 1.40 1.44 1.91 1.95 1.96 1.97 5 1 4 2 7 4 6 0 3 2 6 |
1.515518 1.752724 1.939879 1.387008 1.712233 |
Примечания
Костя считает, что его реализация функции эффективно использует соотношение . Но вы можете это соотношение не использовать.
Решение
Для простоты сначала рассмотрим вариацию со средним арифметическим. Чтобы вычислять его для отрезка за , необходимо находить сумму на отрезке за .
Это делается с помощью следующего трюка. Насчитаем массив sums, где . Так как , то это можно сделать за . Теперь сумма на отрезке с по — это просто . Чтобы вычислить среднее арифметическое на отрезке, нужно еще поделить эту сумму на . Итого на запрос и на предподсчёт.
В вариации со средним геометрическим чуть посложнее. Так как теперь вместо суммы у нас умножение, числа могут расти довольно быстро, и произведение чисел на префиксе может быть настолько большим или маленьким, что не будет влезать в стандартные типы данных. Чтобы решить эту проблему, будем считать натуральный логарифм среднего геометрического, а потом просто возведем в эту степень. Школьная математика гласит, что , а сумму логарифмов можно посчитать за с помощью описанного выше трюка.
Код: gist.github.com/Azatik1000/0b0d8496785169a8ac0d35a8c9e8e59f
Это делается с помощью следующего трюка. Насчитаем массив sums, где . Так как , то это можно сделать за . Теперь сумма на отрезке с по — это просто . Чтобы вычислить среднее арифметическое на отрезке, нужно еще поделить эту сумму на . Итого на запрос и на предподсчёт.
В вариации со средним геометрическим чуть посложнее. Так как теперь вместо суммы у нас умножение, числа могут расти довольно быстро, и произведение чисел на префиксе может быть настолько большим или маленьким, что не будет влезать в стандартные типы данных. Чтобы решить эту проблему, будем считать натуральный логарифм среднего геометрического, а потом просто возведем в эту степень. Школьная математика гласит, что , а сумму логарифмов можно посчитать за с помощью описанного выше трюка.
Код: gist.github.com/Azatik1000/0b0d8496785169a8ac0d35a8c9e8e59f
K. Удалить последнего
Условие
Дан массив из целых чисел. Некоторые числа в последовательности могут повторяться.
Удалите из последовательности последние вхождения каждого из элементов, остальные элементы нужно оставить в последовательности.
Обратите внимание, если элемент встречается только один раз, то его нужно удалить.
В первой строке входных данных записано число (). Во второй строке записаны целых чисел ().
В первой строке выведите число () — количество элементов, оставшихся в последовательности.
Во второй строке выведите чисел — числа, оставшиеся в последовательности. Вы не должны переставлять числа, они должны следовать в том порядке, как были в исходной последовательности.
Ограничение времени | 2 секунды |
Ограничение памяти | 256Mb |
Ввод | стандартный ввод или input.txt |
Вывод | стандартный вывод или output.txt |
Дан массив из целых чисел. Некоторые числа в последовательности могут повторяться.
Удалите из последовательности последние вхождения каждого из элементов, остальные элементы нужно оставить в последовательности.
Обратите внимание, если элемент встречается только один раз, то его нужно удалить.
Формат ввода
В первой строке входных данных записано число (). Во второй строке записаны целых чисел ().
Формат вывода
В первой строке выведите число () — количество элементов, оставшихся в последовательности.
Во второй строке выведите чисел — числа, оставшиеся в последовательности. Вы не должны переставлять числа, они должны следовать в том порядке, как были в исходной последовательности.
Пример 1
Ввод | Вывод |
10 1 1 5 2 4 3 3 4 2 5 |
5 1 5 2 4 3 |
Пример 2
Ввод | Вывод |
1 1000000000 |
0 |
Пример 3
Ввод | Вывод |
10 1 2 3 3 2 1 4 1 2 0 |
5 1 2 3 2 1 |
Решение
Заведем unordered_set (C++) / HashSet (Java) / set (Python), куда будем класть уже встреченные числа. Пройдемся по массиву справа налево, для очередного числа проверим, есть ли оно в множестве встреченных чисел. Если нет, то добавим его в это множество. Если же есть, то добавим в конец вектора-ответа. В конце сделаем reverse вектора ответа за . Проверка на нахождение числа в хеш-таблице работает за , поэтому общая асимптотика по времени .
Код: gist.github.com/Azatik1000/2fef745e23c23eb020f21878980cae08
Код: gist.github.com/Azatik1000/2fef745e23c23eb020f21878980cae08
L. Доска объявлений
Условие
Костя решил развесить объявления о том, как наиболее правильно мыть руки.
Он нашел доску объявлений размером , а его объявление имеет ширину a и пока неизвестную высоту не менее b. Костя хочет разместить объявление, чтобы оно не накрывало никакое уже размещенное на доске объявление. У нового объявления может быть общая граница с наклеенными или доской объявлений, но площадь пересечения с другими объявлениями должна быть нулевой.
Вам даны координаты наклеенных объявлений. Определите координаты области, где Костя может приклеить свое объявление так, чтобы высота объявления была как можно больше. Если таких областей несколько, то подойдет любая из них.
Про координаты. Левый нижний угол доски объявлений имеет координаты , а правый верхний — . Для каждого уже наклеенного объявления нам известны координаты левого нижнего угла и правого верхнего углов.
Гарантируется, что подходящая область на доске объявлений всегда существует.
В первой строке заданы размеры доски объявлений , и размер объявления Кости , (, , , ).
Во второй строке записано число () — количество уже приклеенных объявлений.
Далее в строках записаны координаты объявлений и (). Объявления могут перекрываться, т.е. иметь ненулевую площадь пересечения.
Выведите координаты левого нижнего и правого верхнего углов области, куда Костя может приклеить объявление. Область должна иметь ширину и наибольшую подходящую высоту (гарантируется, что не менее ). Никакая часть найденной области не должна быть занята наклеенными объявлениями.
Все числа должны быть целыми и неотрицательными.
Если подходящих областей несколько, выведите любую из них.
Ограничение времени | 3 секунды |
Ограничение памяти | 256Mb |
Ввод | стандартный ввод или input.txt |
Вывод | стандартный вывод или output.txt |
Костя решил развесить объявления о том, как наиболее правильно мыть руки.
Он нашел доску объявлений размером , а его объявление имеет ширину a и пока неизвестную высоту не менее b. Костя хочет разместить объявление, чтобы оно не накрывало никакое уже размещенное на доске объявление. У нового объявления может быть общая граница с наклеенными или доской объявлений, но площадь пересечения с другими объявлениями должна быть нулевой.
Вам даны координаты наклеенных объявлений. Определите координаты области, где Костя может приклеить свое объявление так, чтобы высота объявления была как можно больше. Если таких областей несколько, то подойдет любая из них.
Про координаты. Левый нижний угол доски объявлений имеет координаты , а правый верхний — . Для каждого уже наклеенного объявления нам известны координаты левого нижнего угла и правого верхнего углов.
Гарантируется, что подходящая область на доске объявлений всегда существует.
Формат ввода
В первой строке заданы размеры доски объявлений , и размер объявления Кости , (, , , ).
Во второй строке записано число () — количество уже приклеенных объявлений.
Далее в строках записаны координаты объявлений и (). Объявления могут перекрываться, т.е. иметь ненулевую площадь пересечения.
Формат вывода
Выведите координаты левого нижнего и правого верхнего углов области, куда Костя может приклеить объявление. Область должна иметь ширину и наибольшую подходящую высоту (гарантируется, что не менее ). Никакая часть найденной области не должна быть занята наклеенными объявлениями.
Все числа должны быть целыми и неотрицательными.
Если подходящих областей несколько, выведите любую из них.
Пример 1
Ввод | Вывод |
11 8 2 7 4 1 5 3 7 2 2 4 5 5 3 9 4 5 3 7 8 |
9 0 11 8 |
Пример 2
Ввод | Вывод |
11 8 7 3 4 1 5 3 7 2 2 4 5 5 3 9 4 5 3 7 8 |
4 0 11 3 |
Пример 3
Ввод | Вывод |
11 8 4 4 4 1 5 3 7 2 2 4 5 5 3 9 4 5 3 7 8 |
7 4 11 8 |
Решение
Найдем область максимальной высоты, в которую можно наклеить наше объявление. Заметим, что произведение не очень большое.
Переберем ширину (от до ), на которой будет находиться левая граница нашего объявления. Рассмотрим только те объявления, у которых ненулевая часть их площади находится на высоте от до , остальные никак не мешают нам наклеить наше объявление. Для тех, которые попали в «полосу» от до , выпишем пары -координаты их нижней и верхней границ. Эти пары образуют отрезки, ни с одним из которых не должен пересекаться отрезок , где и — это -координаты нижней и верхней границы соответственно той области, куда мы наклеим наше объявление. Осталось максимизировать — .
Для этого объединим все выписанные отрезки, добавив к ним для удобства и , соответствующие границам доски. Чтобы это сделать, отсортируем все отрезки по нижей, а при равенстве по верхней границе, и пройдемся по ним в отсортированном порядке. Если нижняя граница очередного отрезка ниже верхней границы последнего отрезка, то расширим последний до верхней границы очередного отрезка, иначе добавим в объединение очередной отрезок. После того, как мы получили объединение отрезков, ответом является максимальная разность между концами двух соседних в отсортированном порядке отрезков в объединении.
При максимизации ответа запоминаем подходящие границы и таким образом нходим ответ. Итого по времени и по памяти.
Код: gist.github.com/Azatik1000/2c07ebdd866ce20a4b5f5e6ee7408ad7
Переберем ширину (от до ), на которой будет находиться левая граница нашего объявления. Рассмотрим только те объявления, у которых ненулевая часть их площади находится на высоте от до , остальные никак не мешают нам наклеить наше объявление. Для тех, которые попали в «полосу» от до , выпишем пары -координаты их нижней и верхней границ. Эти пары образуют отрезки, ни с одним из которых не должен пересекаться отрезок , где и — это -координаты нижней и верхней границы соответственно той области, куда мы наклеим наше объявление. Осталось максимизировать — .
Для этого объединим все выписанные отрезки, добавив к ним для удобства и , соответствующие границам доски. Чтобы это сделать, отсортируем все отрезки по нижей, а при равенстве по верхней границе, и пройдемся по ним в отсортированном порядке. Если нижняя граница очередного отрезка ниже верхней границы последнего отрезка, то расширим последний до верхней границы очередного отрезка, иначе добавим в объединение очередной отрезок. После того, как мы получили объединение отрезков, ответом является максимальная разность между концами двух соседних в отсортированном порядке отрезков в объединении.
При максимизации ответа запоминаем подходящие границы и таким образом нходим ответ. Итого по времени и по памяти.
Код: gist.github.com/Azatik1000/2c07ebdd866ce20a4b5f5e6ee7408ad7
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какие задачи показались самыми интересными?
21.43% A3
21.43% B3
28.57% C4
14.29% D2
21.43% E3
21.43% F3
35.71% G5
35.71% H5
14.29% I2
28.57% J4
35.71% K5
64.29% L9
Проголосовали 14 пользователей. Воздержались 13 пользователей.