Входной файл: | input.txt | Ограничение времени: | 2 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб |
Дана последовательность из N целых чисел. Найдите любую из ее наибольших строго возрастающих подпоследовательностей.
В выходной файл выведите длину найденной наибольшей возрастающей подпоследовательности, а затем номера входящих в нее элементов в порядке возрастания.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | - | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
Найдите наибольшую общую подпоследовательность двух строк.
В первой строке находится первая строка, во второй строке находится вторая строка. Строки состоят только из маленьких латинских букв.
Вывести наибольшую общую подпоследовательность. Если решений несколько, вывести любое.
Длина каждой строки не менее 1 и не превосходят 1000.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | И. Блинов | Ограничение времени: | 2 сек | |
Входной файл: | input.txt | Ограничение памяти: | 1256 Мб | |
Выходной файл: | output.txt |
Слон Пахом любит играть в игру "Герои меча и магии".
У Пахома есть N героев.
У каждого героя в армии содержится ровно 7 различных видов существ (существ одного вида может быть много).
Всего в игре существует 14 различных существ (7 видов, 1-го или 2-го уровня).
У каждого существа есть сила pi.
Существа первого и второго уровня считаются различными,
и их нельзя объединять без предварительного улучшения существ 1-го уровня до 2-го.
Сила существа второго уровня не меньше силы того же существа первого уровня.
Существа первого уровня обозначаются маленькими буквами латинского алфавита
(a
, b
, c
, d
, e
, f
, g
),
второго — большими буквами латинского алфавита
(A
, B
, C
, D
, E
, F
, G
).
Любое существо 1-го уровня можно улучшить до 2-го уровня потратив ci денег.
Пахому лень разделять группы существ, поэтому он может улучшить группу существ
в какой либо армии только полностью.
Улучшения происходят следующим образом a->A
, b->B
, c->C
и т.д.
Пахому предстоит отправиться на завоевание замка, поэтому ему нужно снарядить сильной армией одного героя. Для этого Пахом может перемещать группы существ между различными героями. Перемещение существ происходит бесплатно. Если два героя имеют группы существ одного вида, один из них может передать всех существ данного вида другому герою. Если же два героя имеют группы существ разного вида, они могут поменяться этими группами существ.
Наиболее сильную армию можно было бы получить, улучшив всех существ и собрав армию из 7 видов существ 2-го уровня. Однако на это может не хватить монет, поэтому необходимо выбрать, какие группы существ улучшать. Помогите Пахому собрать максимально сильную армию и при этом потратить не более M монет.
Первая строка входного файла содержит два числа N и M, количество героев и количество денег игрока.
Вторая строка содержит 14 чисел pi, мощность одного существа видов
a
, b
, c
, d
, e
, f
, g
,
A
, B
, C
, D
, E
, F
, G
.
соответственно.
Третья строка содержит 7 чисел сi, стоимость улучшения одного существа видов
a
, b
, c
, d
, e
, f
, g
,
соответственно.
Далее следует N строк, каждая строка содержит 7 пар, tij qij — вид существа и количество существ этого вида у i-го героя.
Выходной файл должен содержать одно число — максимальную силу собранной армии.
1 ≤ N ≤ 50
0 ≤ M ≤ 5000
0 ≤ pi, ci, qi ≤ 1000
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | А. Щуров | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Два друга-ирландца Фаолан и Леон очень любят петь, особенно в праздники, когда они могут собраться и петь песни вместе. Хоть они и друзья, у них не так много общих песен, но это не мешает им пытаться петь разные песни одновременно.
Друзья обнаружили, что разные строки двух песен совместимы и могут быть спеты в унисон, если у строк одинаковая интонация, а количество слогов в этих строках совпадает. Интонация строки считается восклицательной, если в строке есть восклицательный знак (ASCII 33), и нейтральной во всех остальных случаях.
Для слогораздела Фаолан предлагает использовать общепринятую систему, в которой слогообразующим является гласный звук, и при этом два гласных звука не могут находиться в пределах одного слога. В случае, когда слово целиком состоит из согласных, оно за слог не считается, а производимый им согласный звук сливается со слогом в следующем или предыдущем слове.
Когда Фаолан и Леон поют, они следуют по текстам своих песен слева направо, сверху вниз, с удовольствием распевая в унисон совместимые строки и пропуская все остальные.
Сейчас друзья планируют заранее свое выступление, и им интересно, для данных двух песен, сколько суммарно децисекунд они могут пропеть в унисон при условии, что каждый слог пропевается в течение одной децисекунды. Естественно, друзей интересует максимально возможная величина.
В первой строке входных данных содержатся целые числа N M: количество строк в первой и второй песне соответственно. Далее следуют N + M строк, содержащих текст первой и затем второй песни. Каждая строка может состоять только из печатных ASCII символов.
Выходные данные должны содержать одно целое число: максимальное количество децисекунд, в течение которых друзья могут петь в унисон.
1 ≤ N, M ≤ 106
N*M ≤ 107
Длина каждой строки не превосходит 50.
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | ||
---|---|---|---|---|
N | M | |||
1 | 20 | N = 1 | 1 ≤ M ≤ 104 | |
1 | 30 | 1 ≤ N ≤ 10 | 1 ≤ M ≤ 10 | |
1 | 50 | 1 ≤ N ≤ 106 | 1 ≤ M ≤ 106 |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Перевозка пассажиров происходит по следующему алгоритму: автобус приходит на вокзал и ожидает пассажиров, пока они не займут все M мест. Новый автобус приходит на вокзал каждые d минут, первый автобус приезжает в момент времени 0. Время ожидания пассажира — это время, пока он стоит на остановке (если автобус стоит на остановке, а пассажир находится в нём, это не считается за ожидание).
Перевозчику пришли новые требования к перевозке пассажиров: теперь суммарное время ожидания для всех пассажиров не должно превышать T минут.
Вам точно известно количество пассажиров N, и для каждого из них момент времени ti, когда пассажир приходит на вокзал. Перевозчик считает, что увеличение интервала между автобусами позволит уменьшить необходимое количество автобусов. Поэтому вам требуется выбрать максимально большой интервал между автобусами так, чтобы суммарное время ожидания для всех пассажиров не превышало T минут.
Первая строка входного файла содержит три целых числа N, M и T. Следующая строка содержит N целых чисел ti. Гарантируется, что первый автобус не может забрать всех пассажиров.
Выходной файл должен содержать одно целое число — максимальный возможный интервал.
0 ≤ N, M ≤ 106; 1 ≤ ti ≤ 106; 1 ≤ T ≤ 109
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | |||
---|---|---|---|---|---|
N | M | ti | T | ||
1 | 50 | 1 ≤ N ≤ 103 | 1 ≤ M ≤ 103 | 1 ≤ ti ≤ 103 | 1 ≤ T ≤ 103 |
1 | 50 | 1 ≤ N ≤ 106 | 1 ≤ M ≤ 106 | 1 ≤ ti ≤ 106 | 1 ≤ T ≤ 109 |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|