Темы
    Информатика(2656 задач)
---> 4 задач <---
Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Сенсация! В программу Олимпийских игр решили включить соревнования по распилу бревен на скорость. Однако с организацией турнира возникли некоторые сложности. Как уже известно, в турнире примут участие N спортсменов.

Турнир будет организован по следующей схеме: будет проведено T туров, причем первые T - 1 из них будут отборочными, а последний — финальным. В каждом из отборочных туров все оставшиеся спортсмены будут разбиты на \(A\) (\(A\) >= 2) подгрупп по ровно \(B\) (\(B\) >= 2) человек в каждой. Из каждой подгруппы дальше пройдут ровно C человек (1 <= \(C\) < \(B\)). Для каждого отборочного тура будут выбраны свои значения \(A\), \(B\) и \(C\). В финале все оставшиеся участники одновременно сразятся между собой, определив чемпиона.

Так как доход организаторов зависит от количества проданных билетов, а оно, в свою очередь, от количества туров, то организаторы хотят провести как можно больше туров. Однако сами они с этой задачей не справились, поэтому обратились к вам за помощью. Найдите максимально возможное количество туров, включая финальный, которое можно провести, выбирая значения \(A\), \(B\) и \(C\) для каждого из отборочных туров.

Формат входного файла

В первой строке входного файла задано единственное целое число \(N\) — количество участников турнира (1 <= \(N\) <= 1012).

Формат выходного файла

Выведите единственное целое число — максимально возможное количество туров.

Система оценки

Тесты к этой задаче состоят из пяти групп.

0. Тесты 1–2. Тесты из условия, оцениваются в ноль баллов

1. Тесты 3–30. В тестах этой группы N <= 30. Эта группа оценивается в 25 баллов, баллы начисляются только при прохождении всех тестов группы.

2. Тесты 31–40. В тестах этой группы N <= 1 000. Эта группа оценивается в 25 баллов, баллы начисляются только при прохождении всех тестов группы. Решение будет тестироваться на тестах этой группы только в случае прохождения всех тестов первой. группы.

3. Тесты 41–50. В тестах этой группы N <= \(10^6\). Эта группа оценивается в 25 баллов, баллы начисляются только при прохождении всех тестов группы. Решение будет тестироваться на тестах этой группы только в случае прохождения всех тестов первой и второй групп.

4. В тестах этой группы дополнительные ограничения отсутствуют. Эта группа оценивается в 25 баллов. Решение будет тестироваться на тестах этой группы offline, т. е. после окончания тура, причем только в случае прохождения всех тестов первой, второй и третьей групп. Тесты в этой группе оцениваются независимо

Примеры
Входные данные
3
Выходные данные
1
Входные данные
6
Выходные данные
3
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Был обычный весенний вечер. За окном завывала метель. Бухгалтер Евгений скучал на работе и с грустью вспоминал о своих былых успехах на олимпиадах по программированию. В его школьные годы на олимпиадах давали не больше восьми задач, и, разглядывая график своих успехов на сайте Topforces, ему удалось подсчитать, что в \(v_1\) олимпиадах он решил ровно 1 задачу, в \(v_2\) олимпиадах — ровно 2, \(\ldots\), в \(v_8\) олимпиадах — ровно 8 задач (Евгений предпочитал не вспоминать об олимпиадах, на которых он ничего не решил). К концу рабочего дня в офисе не осталось чистой бумаги, а из всех электронных устройств включенным оставался только калькулятор. Нашему герою ничего другого не оставалось, кроме как ввести памятные ему числа в калькулятор: \(v_1 1 v_2 2 \ldots v_8 8\). Стоит заметить, что никаких пробелов и других разделителей на калькуляторе Евгения не было, поэтому он записал эти числа просто подряд, получив некоторое число \(N\). Кроме того, он был достаточно ленив, поэтому все \(v_i\) вводил без ведущих нулей, а если какое-то \(v_i\) равнялось нулю, то соответствующую пару \(v_i i\) он просто не вводил.

Например, если \(v_2 = 111\), \(v_3 = 1\), а все остальные \(v_i = 0\), то у Евгения получилось бы число \(N = 111213\).

Уйдя с работы, Евгений оставил калькулятор с введенным числом \(N\) на столе, чем и воспользовалась его любопытная коллега Марина. Она сразу догадалась, как образовано введенное число, и уже собиралась приступать к расшифровке, как вдруг поняла, что различных наборов \((v_1, \ldots, v_8)\), из которых можно было получить это число, может быть достаточно много. Так, приведенное выше число \(N\) может быть получено также и при \(v_1 = 11\), \(v_3 = 21\).

Марина попросила вас найти количество таких наборов по модулю числа \(1\,000\,000\,007 = 10^9 + 7\).

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

Входной файл содержит единственное оставленное Евгением на калькуляторе целое число \(N\) (\(1 \leqslant N \lt 10^{1\,000\,000}\)).

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

Выведите единственное целое число  количество различных наборов \((v_1, . . . , v_8)\), из которых описанным выше алгоритмом можно было получить число \(N\) , по модулю числа \(10^9 + 7\). 

Два набора \((v_1, . . . , v_8)\) и \((v′_1, . . . , v′_8)\) будем считать различными, если хотя бы для одного \(i\) от \(1\) до \(8\) \(v_i \ne v′_i\). 

Обратите внимание, что Евгений мог ошибиться и получить число \(N\), которое не соответствует ни одному набору \((v_1, . . . , v_8)\).

Система оценки
  • Подзадача 0 (0 баллов) тест из условия.
  • Подзадача 1 (30 баллов) в тестах этой группы \(1 \le N \lt 10^{10}\). Необходимые подгруппы: 0.
  • Подзадача 2 (30 баллов) в тестах этой группы \(1\le N \lt 10^{1000}\). Необходимые подгруппы: 0-1.
  • Подзадача 3 (40 баллов) без дополнительных ограничений. Необходимые подгруппы: 0-2.
Примеры
Входные данные
111213
Выходные данные
5
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Компания «Nanosoft» готовится удивить мир принципиально новой игрой для смартфонов «Две башни». Ее ключевая особенность заключается в том, что играть в нее смогут даже самые маленькие дети. Во-первых, для управления используется всего одна кнопка. Во-вторых, проиграть просто невозможно (правда, игроку может надоесть часами нажимать на одну и ту же кнопку).

Игровое поле представляет собой бесконечную горизонтальную ленту, разбитую на ячейки, пронумерованные целыми числами слева направо (см. рис.). Изначально в ячейках с отрицательными номерами расположена армия монстров, у каждого из которых есть некоторое количество единиц здоровья. А именно, в ячейках \(-1, -2, \ldots, -K\) расположены монстры с 1 единицей здоровья, в следующих \(K\) ячейках (с номерами \(-(K+1), \ldots, -2K\)) расположены монстры с 2 единицами здоровья и так далее. Таким образом, для каждого целого положительного числа \(i\) в ячейке с номером \(-i\) изначально находится монстр с \(\left\lceil\frac{i}{K}\right\rceil\) единицами здоровья. Кроме того, на ленте расположены две башни, каждая из которых контролирует некоторый отрезок ленты: первой башне соответствуют все ячейки с \(A\) по \(B\) включительно, а второй - ячейки с \(C\) по \(D\) включительно (\(0 \leqslant A \leqslant B \lt C \leqslant D\)).

Например, при \(K = 3\), \(A = B = 1\), \(C = 3\), \(D = 4\) исходная позиция будет выглядеть следующим образом:


После очередного нажатия на кнопку происходит следующее. Сначала вся армия сдвигается на одну позицию вправо. Затем каждая башня производит выстрел по самому правому монстру, находящемуся в области ее видимости, отнимая у него единицу здоровья. Если у монстра отнимают последнюю единицу здоровья, он немедленно умирает и исчезает.

Игра заканчивается, как только впервые в ячейке с номером \(D + 1\) окажется монстр.

Как вы уже могли заметить, главная проблема игры заключается в том, что для выигрыша может потребоваться слишком много нажатий на кнопку, поэтому для некоторых особо сложных уровней решено ограничить возраст игроков, допускаемых к его прохождению. В связи с этим вам нужно определить, сколько нажатий на кнопку потребуется для победы на данном уровне, который описывается числами \(K\),\(A\), \(B\), \(C\) и \(D\).

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

В единственной строке входного файла содержатся 5 целых чисел \(K\), \(A\), \(B\), \(C\), \(D\) (\(1 \le K \le 10^9\), \(0 \le A \le B \lt C \le D \le 10^9\)). Соседние числа разделены одним пробелом.

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

Выведите единственное натуральное число - ответ на задачу.

Примечание

Пошагово разберем первый тест.

Система оценки
  • Подзадача 0 (0 баллов) тесты из условия.
  • Подзадача 1 (30 баллов) \(1 \le K \le 10^3\), \(0 \le A \le B \lt C \le D \le 10^3\). Необходимые подгруппы: 0.
  • Подзадача 2 (30 баллов) \(1 \le K \le 10^5\), \(0 \le A \le B \lt C \le D \le 10^5\). Необходимые подгруппы: 0-1.
  • Подзадача 3 (40 баллов) без дополнительных ограничений. Потестовая. Необходимые подгруппы: 0-2.

Примеры
Входные данные
2 0 0 1 1
Выходные данные
7
Входные данные
3 1 1 3 4
Выходные данные
13
Входные данные
1 2 3 7 11
Выходные данные
17
ограничение по времени на тест
3.0 second;
ограничение по памяти на тест
512 megabytes

Даны три строки \(A\), \(B\), \(C\). Требуется выбрать строки \(A'\), \(B'\) и \(C'\) (возможно пустые, возможно совпадающие), так чтобы строка \(A\) удовлетворяла шаблону \(*A'*B'*\), строка \(B\) удовлетворяла шаблону \(*C'*A'*\), строка \(C\) удовлетворяла шаблону \(*B'*C'*\) и величина \(|A'| + |B'| + |C'|\) была максимальна.

Первая строка входного файла содержит единственное целое число \(N\) (\(1 \le N \le 2\,000\)) - длину каждой из входных строк. В следующих трех строках содержатся строки \(A\), \(B\) и \(C\), каждая из которых состоит из \(N\) строчных латинских букв.

Выведите единственное целое число - \(|A'| + |B'| + |C'|\). Если не существует строк \(A'\), \(B'\) и \(C'\), из которых можно получить данные три строки \(A\), \(B\) и \(C\), то выведите ноль.

Тесты к этой задаче состоят из четырех групп.
0. Тесты 1-3. Тесты из условия, оцениваются в ноль баллов.
1. Тесты 4-20. В тестах этой группы \(1 \le N \le 50\). Эта группа оценивается в 30 баллов.
2. Тесты 21-40. В тестах этой группы \(1 \le N \le 300\). Эта группа оценивается в 30 баллов.
3. В тестах этой группы дополнительные ограничения отсутствуют. Эта группа оценивается в 40 баллов.
Примеры
Входные данные
2
ac
ba
cb
Выходные данные
3
Входные данные
4
agtb
icea
tbhc
Выходные данные
4
Входные данные
3
abc
cde
dea
Выходные данные
2

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест