В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
BEM007
BEM007
21.03.2021 21:33 •  Информатика

Имя входного файла: стандартный ввод
имя выходного файла: стандартный вывод
ограничение по времени: 2 секунды
ограничение по памяти: 256 мегабайт
— ты меня заждалась, дорогая? извини,
меня задержал ньютон.
— кто это?
— . умнейший человек. я
непременно тебя с ним познакомлю.
диалог между карлом и мартой, из
сценария фильма «тот самый
мюнхгаузен»
барон мюнхгаузен весьма трепетно относится к своему распорядку дня. сначала он составляет
предварительную версию распорядка на несколько дней вперёд. в настоящий момент он включил в
предварительную версию n пунктов, определив для каждого из них день, в который он планирует
выполнить этот пункт.
затем для каждого из пунктов барон определяет наиболее ранний день, в который он сможет
подготовиться к выполнению этого пункта. нужно сказать, что на подготовку к выполнению любого
пункта мюнхгаузену требуется ровно один день, и в этот день он не будет заниматься подготовкой
ни к какому другому пункту. подготовка может быть проведена в любой из допустимых дней, но
не может быть проведена в день выполнения пункта. заметим, что выполнять какие-либо пункты
распорядка дня в день подготовки к некоторому другому пункту мюнхгаузен вполне может — если
ранее подготовился к этим каким-либо пунктам.
если бы всё зависело только от мюнхгаузена, он успел бы выполнить все пункты, включённые в
предварительную версию распорядка. но, увы, это далеко не так. вот, к примеру, софокл пригласил
его в гости, предлагая обсудить новую театральную постановку. однако посмотреть эту постановку
раньше её премьеры не получится.
так что при формировании окончательной версии распорядка мюнхгазуену приходится вычёркивать какие-то пункты, чтобы успеть выполнить все остальные. а выполнить он хочет как можно
больше пунктов. ваша — определить максимально возможное количество пунктов, которые
сможет выполнить барон, а также определить, какие это могут быть пункты.
формат входных данных
в первой строке содержится целое число n (1 6 n 6 3 · 105
) — количество пунктов в предварительной версии распорядка.
во второй строке содержатся целые числа d1, d2, . . , dn (2 6 dj 6 109
, j = 1, 2, . . , n), dj — день,
в который должен быть выполнен пункт #j.
в третьей строке содержатся целые числа p1, p2, . . , pn (1 6 pj < dj j = 1, 2, . . , n), pj — наиболее
ранний день, в который мюнхгаузен может подготовиться к выполнению пункта #j.
формат выходных данных
в первой строке выведите целое число m — максимально возможное количество пунктов, которое
сможет выполнить барон мюнхгаузен.
во второй строке выведите m целых чисел — номера пунктов, которые он сможет выполнить, в
том порядке, в котором он будет их выполнять.
если существует несколько вариантов ответа, выведите любой из них.

Показать ответ
Ответ:
dzhulijamalish
dzhulijamalish
14.01.2022 22:38
На первое место можно поставить любую из шести допустимых букв (кроме ийо). На второе место можно поставить любую из шести оставшихся букв (ийо уже можно использовать), на третье – любую из шести оставшихся и т. д. Всего получается 6*6*5*5*3*2*1=5400 вариантов. Но в этих вариантах посчитаны слова, в которых ол стоят рядом, их количество нужно вычесть.
Количество слов с ол можно подсчитать по той же схеме, если считать ол единой буквой. У нас остаётся буквы: Н, Б, Е, ИЙ, причём слово не может начинаться с Й. Количество таких слов равно 6*5*5*3*2*1=900. Всего возможных кодов получается 5400-900=4500.
Ответ: 4500.
0,0(0 оценок)
Ответ:
Alle963
Alle963
21.09.2021 19:48

Код программы:

var i, sum, a:integer;

begin

 writeln('Четные числа:');

 for i:= 72 to 134 do begin

   if i mod 2 = 0 then

     write(i, ' ');

 end;

 

 writeln();

 writeln();

 writeln('Числа, оканчивающиеся на "3":');

 for i:= 72 to 134 do begin

   if i mod 10 = 3 then

     write(i, ' ');

 end;

 

 writeln();

 writeln();

 writeln('Числа, сумма цифр которых меньше 11:');

 for i:= 72 to 134 do begin

   a:= i;

   sum:= 0;

   while a <> 0 do begin

     sum := sum + a mod 10;

     a := a div 10;

   end;

   if sum < 11 then

     write(i, ' ');

 end;

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота