Финал олимпиады НТО: информационная безопасность. Секция - информатика
A. Петя и странные запросы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня Петя снова играл со своим другом — роботом Петей++.

Сегодняшняя игра заключается в том, что Петя++ загадывает некое число $$$n$$$. Затем он выписывает числа от $$$1$$$ до $$$n$$$ на листике. Теперь он вычёркивает каждое число, которое делилось на 2 — маркером одного цвета, а число, которое делилось на 3 — маркером другого цвета.

Пете стало интересно, сколько существует таких чисел, что они были зачёркнуты ровно один раз?

Входные данные

В первой строке входных данных вам даётся число $$$n$$$ $$$(1 \le n \le 10^9)$$$.

Выходные данные

Выведите единственное число — количество чисел, удовлетворяющих условиям.

Система оценки
ПодзадачаБаллыДополнительные ограниченияНеобходимые подзадачиИнформация о проверке
$$$1$$$$$$50$$$тесты из условияполная
$$$2$$$$$$60$$$$$$n \le 10$$$1первая ошибка
$$$3$$$$$$100$$$$$$n \le 10^5$$$1-2первая ошибка
$$$4$$$$$$40$$$нет1-3первая ошибка
Примеры
Входные данные
5
Выходные данные
3
Входные данные
8
Выходные данные
4

B. Двоичный паук плетёт паутину
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня двоичный паук решил сплести себе самую удобную паутину!

Известно, что дом двоичного паука представляет собой $$$n$$$ столбиков, для каждого из которых известна его высота $$$a_i$$$.

Теперь паук хочет выбрать самый уютный уголок. Уютным уголком считается такой непрерывный подотрезок из столбиков, в котором все высоты $$$\le x$$$. На нём наш герой будет плести паутину. Конечно же, среди всех таких возможных отрезков он хочет выбрать как можно более длинный для того, чтобы пауку было как можно просторнее.

Найдите длину наидлиннейшего подходящего отрезка.

Входные данные

В первой строке вам даются два числа $$$n$$$ и $$$x$$$ $$$(1 \le n \le 7 \cdot 10^5$$$, $$$1 \le x \le 10^9)$$$ — количество столбиков и максимальная высота подходящих столбиков.

Во второй строке вам даются $$$n$$$ чисел $$$a_i$$$ $$$(1 \le a_i \le 10^9)$$$ — высоты столбиков.

Выходные данные

Выведите единственное число — длину наидлиннейшего отрезка, удовлетворяющего условиям.

Система оценки
ПодзадачаБаллыДополнительные ограниченияНеобходимые подзадачиИнформация о проверке
$$$1$$$$$$50$$$тесты из условияполная
$$$2$$$$$$100$$$$$$n \le 5$$$1первая ошибка
$$$3$$$$$$150$$$$$$n \le 10^3$$$1-2первая ошибка
$$$4$$$$$$200$$$нет1-3первая ошибка
Примеры
Входные данные
5 4
1 5 2 3 6
Выходные данные
2
Входные данные
5 4
5 1 4 3 2
Выходные данные
4

C. Марсианские числа
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня компания Interplanetary Software Inc. решила провести опыт по изучению марсианских чисел.

У вас есть число $$$a$$$. Пара чисел $$$(x; y)$$$ является марсианской, если наибольший общий делитель этих двух чисел равен 1.

Компания решила исследовать все числа на отрезке $$$[l; r]$$$ и определить, сколько чисел из отрезка образуют марсианскую пару с числом $$$a$$$.

Входные данные

В первой строке вам даются три числа: $$$a$$$, $$$l$$$, $$$r$$$ $$$(1 \le a \le 10^7)$$$, $$$(1 \le l \le r \le 10^{18})$$$ — число для проверки и границы отрезка.

Выходные данные

Выведите единственное число — количество чисел, образующих марсианскую пару с $$$a$$$ на отрезке $$$[l; r]$$$.

Система оценки
ПодзадачаБаллыДополнительные ограниченияНеобходимые подзадачиИнформация о проверке
$$$1$$$$$$50$$$тесты из условияполная
$$$2$$$$$$100$$$$$$a, l, r \le 10^6$$$1первая ошибка
$$$3$$$$$$100$$$$$$l, r \le 2 \cdot 10^7$$$1-2первая ошибка
$$$4$$$$$$100$$$$$$r - l \le 10^6$$$1первая ошибка
$$$5$$$$$$150$$$$$$r - l \le 2 \cdot 10^7$$$1, 4первая ошибка
$$$6$$$$$$250$$$нет1-5первая ошибка
Примеры
Входные данные
5 4 8
Выходные данные
4
Входные данные
3 1 20
Выходные данные
14

D. Высадка двоичных яблонь на луну
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня Казимир Казимирович как обычно работал в саду. И тут он понял, что ему очень не хватает в его саду ещё одной посадки свежего рядка яблонь.

Казимир знает, что он хочет высадить в ряд ровно $$$n$$$ яблонь. Также он знает, что высота каждой яблони среди доступных сейчас характеризуется уникальным числом от $$$1$$$ до $$$n$$$. Конечно же, высаживать деревья надо по феншую, а именно: высоты соседних в ряду деревьев не должны отличатся более, чем на 2.

Также Казимир считает, что самый живописный отрезок — отрезок $$$[l; r]$$$. Поэтому он хочет высаживать туда деревья так, чтобы сумма их высот была как можно больше. Вам требуется помочь Казимиру Казимировичу и найти оптимальную расстановку яблонь в саду, то есть такую, чтобы она была расстановкой по феншую, а также среди всех таких она должна иметь наибольшую сумму высот деревьев на подотрезке.

Если ответов может быть несколько, выведите любой из них.

Входные данные

В первой строке вам даются три числа: $$$n$$$, $$$l$$$, $$$r$$$, $$$(1 \le n \le 2 \cdot 10^5)$$$, $$$(1 \le l \le r \le n)$$$ — длина перестановки и границы выбранного отрезка.

Выходные данные

Выведите $$$n$$$ чисел — требуемую перестановку.

Система оценки
ПодзадачаБаллыДополнительные ограниченияНеобходимые подзадачиИнформация о проверке
$$$1$$$$$$50$$$тесты из условияполная
$$$2$$$$$$100$$$$$$n \le 3$$$1первая ошибка
$$$3$$$$$$200$$$$$$n \le 10$$$1-2первая ошибка
$$$4$$$$$$100$$$$$$l = r$$$первая ошибка
$$$5$$$$$$150$$$$$$r - l \le 1$$$4первая ошибка
$$$6$$$$$$400$$$нет1-5первая ошибка
Примеры
Входные данные
5 2 4
Выходные данные
1 3 5 4 2 
Входные данные
3 1 2
Выходные данные
3 2 1 

E. Ужин у лесника Янки
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

После тяжёлого рабочего дня Казимир Казимирович решил отдохнуть, погуляв по лесу. Замученный дорогой, он выбился из сил. И в доме лесника он ночлега попросил. С улыбкой добродушной старик его впустил.

Теперь уставшего путника нужно хорошенько накормить. У лесника дома, к счастью, оказалось $$$n$$$ блюд, каждое из которых характеризуется своей пищевой ценностью $$$a_i$$$. Добрый лесник запланировал для Казимира Казимировича $$$q$$$ обедов, на обеде с номером $$$j$$$ лесник может попробовать все блюда с номерами от $$$l_j$$$ до $$$r_j$$$. Для обеда введем понятие насыщенности — минимальное значение $$$a_i - i$$$ по всем блюдам, разрешенным на данном обеде.

Так как Казимир Казимирович — уважающий себя путник, он хочет максимизировать насыщенность каждого обеда, поэтому перед началом каждого приема пищи он может незаметно поменять порядок блюд из разрешенного отрезка (обратите внимание, что в таком случае номер некоторых блюд может измениться). Другими словами, Казимир Казимирович может заменить значения $$$a_l, a_{l + 1}, ..., a_{r - 1}, a_{r}$$$ на любую перестановку этих значений, а уже потом посчитать насыщенность обеда.

Но Казимир Казимирович также очень благодарный путник, поэтому после каждого обеда он возвращает все блюда на исходные места. Другими словами, перед каждым обедом значения блюд $$$a_l, a_{l + 1}, ..., a_{r - 1}, a_{r}$$$ должны быть такими же, как изначально, и перестановка этих значений на текущем обеде никак не влияет на следующие обеды.

Для каждого из обедов определите его максимально возможную насыщенность.

Напомним, что перестановкой чисел называется любое их переупорядочивание, например для массива $$$[1, 5, 6]$$$ это могут быть $$$[1, 5, 6]$$$, $$$[1, 6, 5]$$$, $$$[5, 1, 6]$$$, $$$[5, 6, 1]$$$, $$$[6, 1, 5]$$$, $$$[6, 5, 1]$$$.

Входные данные

В первой строке вам даются два числа $$$n$$$ и $$$q$$$ $$$(1 \le n, q \le 5 \cdot 10^4)$$$ — количество блюд на столе и количество планируемых обедов соответственно.

Во второй строке вам даются $$$n$$$ чисел $$$a_i$$$ $$$(1 \le a_i \le 10^9)$$$ — пищевая ценность каждого блюда.

В следующих $$$q$$$ строках вам даётся по 2 числа $$$l$$$ и $$$r$$$ $$$(1 \le l \le r \le n)$$$ — границы отрезка разрешенных блюд на каждом обеде.

Выходные данные

Для каждого обеда выведите максимальную насыщенность, которой может добиться Казимир Казимирович.

Система оценки
ПодзадачаБаллыДополнительные ограниченияНеобходимые подзадачиИнформация о проверке
$$$1$$$$$$50$$$тесты из условияполная
$$$2$$$$$$200$$$$$$q = 1, n \le 10$$$первая ошибка
$$$3$$$$$$100$$$$$$q = 1, r - l \le 10$$$2первая ошибка
$$$4$$$$$$300$$$$$$q = 1, l = 1, r = n$$$первая ошибка
$$$5$$$$$$300$$$$$$a_i \le 2$$$первая ошибка
$$$6$$$$$$300$$$$$$n, q \le 1000$$$1-2первая ошибка
$$$7$$$$$$750$$$нет1-6первая ошибка
Пример
Входные данные
5 4
3 2 4 1 5
2 5
3 4
3 3
1 5
Выходные данные
-1
-2
1
0