Автор: | Рекомендации | |||
Входной файл: | input.txt | Ограничение времени: | 1 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб |
Будем называть разнообразностью строки количество символов, которые встречаются в ней ровно один раз. Например, разнообразность строки "INFORMATICS" - 9, поскольку символы "A", "C", "F", "M", "N", "O", "R", "S" и "T" встречаются в ней ровно один раз.
Для заданной строки S найдите подстроку, которая имеет наибольшую разнообразность. Если таких подстрок несколько, то найдите ту, которая минимальна в лексикографическом порядке.
Строка A меньше строки B в лексикографическом порядке, если выполняется одно из условий:
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | Рекомендации | |||
Входной файл: | input.txt | Ограничение времени: | 1 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб |
Вася — страстный любитель компьютерных игр. Его коллекция насчитывает десятки компакт-дисков с играми. Однако он очень неаккуратный мальчик. Коробки с дисками в полном беспорядке раскиданы по его столу, и поэтому найти что-либо на столе практически невозможно.
Когда Вася хочет поиграть в очередную игру, он действует следующим образом: берет произвольную коробку с диском со стола и вставляет диск из этой коробки в CD-привод своего компьютера. Если в CD-приводе уже есть какой-нибудь диск, то вместо того, чтобы найти коробку от этого диска и убрать его туда, Вася убирает диск в коробку, из которой он только что достал очередной диск.
Например, пусть у Васи есть три компакт-диска с играми — "Цивилизация", "Тетрис" и "Сапер". Пусть Вася сначала начал играть в "Цивилизацию", а затем решил поиграть в "Тетрис". Тогда после этого диск с "Цивилизацией" окажется в коробке от "Тетриса". Пусть затем он решил поиграть в "Сапера". Тогда диск от "Тетриса" окажется в коробке от "Сапера". Если после этого он снова решит поиграть в "Цивилизацию" (заметим, что для этого он достанет ее из коробки от "Тетриса"), то игра "Сапер" окажется в коробке от "Тетриса", а "Цивилизация" — в CD-приводе Васиного компьютера.
Предполагая, что исходно все диски с играми находятся в своих коробках, напишите программу, которая по заданной последовательности игр, в которые играл Вася, определит, в какой коробке окажется после этого каждый из дисков с играми.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | Рекомендации | |||
Входной файл: | input.txt | Ограничение времени: | 1 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб |
Петя очень не любит делать домашние задания. Поэтому он просит отличников из своего класса сделать их за него. За это он даёт им шоколадные конфеты. Так как Петин папа работает на шоколадной фабрике, то у Пети всегда много конфет.
Но отличники — капризные ребята. В разные дни они просят разное количество конфет за выполнение домашнего задания. Про каждого отличника в классе Петя знает, сколько конфет придётся ему дать в i-й день учёбы, чтобы тот сделал за него домашнее задание. Кроме того, каждый день делать домашние задания за Петю не согласится ни один отличник, и поэтому про каждого отличника Петя выяснил, какое максимальное количество домашних заданий тот согласится сделать за него подряд.
Требуется написать программу, которая по информации о количестве конфет, которое отличники просят за свои услуги, а также о максимальном количестве дней подряд, которое каждый отличник готов делать домашние задания за Петю, определяет, какое минимальное количество конфет требуется Пете, чтобы все домашние задания были за него сделаны.
Первая строка входного файла содержит два числа: n — количество учебных дней, m — количество отличников в классе у Пети.
Вторая строка входного файла содержит m целых чисел ai (1 ≤ i ≤ m), задающих для каждого отличника максимальное количество заданий подряд, которое он согласен выполнять за Петю (1 ≤ ai ≤ n).
Следующие m строк содержат по n неотрицательных целых чисел, при этом j-е число i-й строки (ci, j) означает количество конфет, которое Пете придётся отдать i-му отличнику, чтобы он сделал за Петю домашнее задание в j-й день.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | И. Туфанов | |||
Входной файл: | input.txt | Ограничение времени: | 1 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб |
Поступила информация, что в одной из пещер горной страны спрятано оружие массового поражения, которое до этого долго искали совсем в другом месте. Поиск оружия — дело опасное, поэтому его поручили роботам, а Вам — управление этими роботами.
Пещера, в которой находится оружие, состоит из N площадок, некоторые из которых соединены лазами. По лазам роботы могут проходить в обоих направлениях. Кроме того, пещера имеет интересную структуру: с любой площадки можно пробраться по лазам на любую другую, при чем единственным образом. Это свойство было названо "древовидностью" пещеры.
Количество роботов ограничено — в пещеру можно запустить не больше K штук. Вы находитесь на площадке с номером 1. После запуска каждого робота ему можно давать команды "перейти с текущей площадки на площадку i", причем площадка i должна быть соединена с текущей. Роботы чрезвычайно неповоротливы, вернее, они вообще неповоротливы. Если робот прошел по какому-то лазу, то больше он там пройти не может (однако позже там может пройти другой робот).
В целях поиска оружия Вам было поручено управлять роботами таким образом, чтобы было исследовано наибольшее количество площадок. Площадка считается исследованной, если там побывал хотя бы один робот. Разумеется, первым делом Вы хотите узнать, сколько пещер может быть исследовано при использовании не более чем K роботов. Благо, компьютер под рукой. Теперь вы можете написать программу, отвечающую на этот вопрос.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|