Информатика

7 600 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Moo#89815

Коровы придумали новую игру “Moo”. Они стоят в ряд, где каждая корова отвечает за то, чтобы назвать конкретную букву как можно быстрей.
Последовательность букв определена до бесконечности. Ее начало представлено ниже:
m o o m o o o m o o m o o o o m o o m o o o m o o m o o o o o
Эта последовательность проще всего описывается рекурсивно. Пусть S(0) будет последовательность из трех символов "m o o". S(k) получается конкатенацией: копии последовательности S(k-1), затем “m o … o” c k+2 символами ‘o’ и затем еще одна копия последовательности S(k-1). Например:
S(0) = "m o o" S(1) = "m o o m o o o m o o" S(2) = "m o o m o o o m o o m o o o o m o o m o o o m o o"
Очевидно, так можно построить строку любой длины и эта строка используется для игры в “Moo”.
Беси, которая про себя думает, что она умная корова, хочет предсказать, Каким будет символ на позиции N – ‘m’ или ‘o’. Помогите ей!
PROBLEM NAME: moo
Формат входных данных
* Строка 1: Одно целое число N (1 <= N <= 10^9).
Формат выходных данных
* Строка 1: Единственная строка вывода должна содержать один символ, ‘m’ или ‘o’.

N (1 <= N <= 2000) коров Фермера Джона расположены на прямой линии (дороге от амбара до пастбища). ФД хочет расставить вдоль этой прямой точки беспроводного доступа в Internet, так чтобы все коровы были в зоне покрытия.
Стоимость wifi-станции зависит от расстояния, ан которое она может передавать сигнал. Станция с мощностью(радиусом действия) r стоит A + B*r , где A - фиксированная цена установки станции B - стоимость на 1 расстояния, на которое передается информация.
Если такая станция установлена в позиции x, то она может передавать данные до любой коровы, расположенной в интевале x-r...x+r. Допускается станция с мощностью передачи 0, но, поскольку r=0, она будет работать только для коровы, размещенной в самой точке x размещения станции.
По заданным величинам A и B, а также координатам коров, определите самый дешевый способ, которым ФД сможет обеспечить беспроводное покрытие всех своих коров.
PROBLEM NAME: wifi
Формат входных данных
* Строка 1: Три разделенных пробелом целых числа: N A B (0 <= A, B <= 1000).
* Строки 2..1+N: Каждая строка содержит одно целое число в диапазоне 0..1,000,000 описывающее размещение одной коровы.
Формат выходных данных
* Строка 1: Минимальная стоимость обеспечения беспроводным покрытием всех коров.
Примечание
Оптимальное решение - построить базовую станцию в позиции 3.5 (с мощностью/радиусом действия 3.5) и другую станции в позиции 100 с мощностью (радиусом действия) 0. Первая станция обеспечит покрытие коров 1 и 2, вторая - коровы 3.

Коровы сформировали банды, пронумерованные от 1 до M.
Теперь эти банды борются за контроль над большим пастбищем.
Каждую минуту одна корова идет в поле. Если это поле пустое, считается, что ее банда взяла контроль над ним. Если поле уже под контролем этой банды, то корова просто начинает на нем пастись. Иначе возникает конфликт между новой коровой, и той коровой из другой банды, которая там паслась.
В результате этого конфликта обе коровы "аннигилируются" (то есть выходят из своих банд и покидают это поле). Поле становится пустым и бесконтрольным. Никакая банда его не контролирует.
Беси знает сколько коров в каждой банде. Беси хочет чтобы ее банда контролировала поле после завершения конфликта.
Помогите Беси определить, может ли ее банда (номер 1) контролировать поле в конце.
Если это возможно, Беси хочет знать максимальное количество коров из ее банды, которое может остаться на поле в конце.
Выведите это количество и лексикографически раннюю перестановку коров, которая приведет к этому числу.
Перестановка X называется более ранней чем перестановка Y, если есть некоторое k, для которого X[k] < Y[k] и X[i]=Y[i] для всех i < k.
PROBLEM NAME: gangs
Формат входных данных
* Строка 1: N (1 <= N <= 100) и M (1 <= M <= N) разделенные пробелом. N - общее число коров во всех бандах. M - общее число банд.
* Строки 2..1+M: (1+i)-ая строка указывает количество коров в банде i. В каждой банде есть хотя бы одна корова.
Формат выходных данных
* Строка 1: Выведите YES на одной строке, если банда Беси может взять контроль над полем, иначе выведите NO.
* Строка 2: Если банда Беси сможет взять контроль над полем выведите здесь максимальное количество коров, которые там будут пастись после окончания конфликта.
* Строки 3..2+N: На (i+2)-ой вывести индекс банды коровы, которая должна появится на i-ой минуте на поле в лексикографически ранней перестановке которая обеспечит максимальное количество коров в поле после конфликта.
Примечание
Только одна корова из банды Беси может остаться на поле

Фермер Джон поддерживает алфавитно упорядоченный список имен своих N
(1 <= N <= 50,000) коров. Каждое имя коровы представлено уникальной
строкой от 1 до 20 маленьких латинских символов.

Беси, всегда создающая проблемы, переупорядочила имена коров в этом
списке, и также поменяла буквы в некоторых именах.

По заданному этому модифицированному списку определите для каждого
имени в списке самую маленькую и самую большую позицию, которую
могло занимать это имя в изначальном списке.

PROBLEM NAME: scramble

Формат входных данных

* Строка 1: Одно целое число N.

* Строки 2..1+N: Каждая из этиз строк содержит реорганизованное имя
одной из коров

Формат выходных данных

* Строки 1..N: Строка i должна указывать, для входной строки i,
самую маленькую и самую большую позицию в исходном списке
на котором могла быть оригинальная версия строки i.

Примечание

Строка 'a' может быть только первой, а строка 'xyz' - только последней,
вне зависимости как переупорядочены их буквы .
Строки "essieb" и "elsie" могут занимать 2 или 3-ю позицию в зависимости
от той буквы, которая была первой в оригинальном имени:
например "bessie" (позиция 2) и "bessie" (позиция 3)
и наоборот
"sisbee" (позиция 3) и "ilees" (позиция 2)).


Коровы очень вежливы, каждый раз при встрече они приветствуют коллегу дружеским 'moo'.
Бэси и Эльза ходят вдоль прямой вперед и назад. Начинают в точке 0 и двигаются с одинаковой скоростью. По описаниям движения каждой из коров определите количество 'moo', которыми они обменялись.
Беси и Эльза могут останавливать движение в различные точки времени, и никогда не гуляют более чем 1,000,000 единиц времени.
PROBLEM NAME: greetings
Формат входных данных
* Строка 1: Два разделенных пробелом целых числа, B (1 <= B <= 50,000) и E (1 <= E <= 50,000).
* Строки 2..1+B: Эти B строк описывают движение Беси. Каждая строка содержит положительное целое, за которым следует символ "L" или "R", обозначающий пройденное Беси расстояние влево или вправо.
* Строки 2+B..1+B+E: Эти E строк описывают движение Эльзы. Каждая строка содержит положительное целое, за которым следует символ "L" или "R", обозначающий пройденное Эльзой расстояние влево или вправо.
Формат выходных данных
* Строка 1: Одно целое число, указывающее количество 'moo', которыми обменялись две коровы. Их начальное совместное положение в точке 0, не вызывает 'moo'.
Примечание
Беси и Эльза встречаются в моменты времени 7, 9, 13
Problem 3: Tile Exchanging [Ray Li]
Фермер Джон хочет покрыть пол в своем амбаре коллекцией квадратных плиток, которые он купил в магазине. К несчастью, Он не измерял точно размер своего амбара перед покупкой, поэтому сейчас он должен обменять часть плиток на другие, тоже квадратные, но других размеров.
N квадратных плиток которые ФД купил изначально имеют длины сторон A1...AN. Он хочет обменять часть из этих плиток так, чтобы общая сумма площадей всех плиток была ровно M.
При этом необходимо соблюсти правила обмена, установленные магазином: - плитка со стороной с длиной Ai может быть обменяна на другую плитку со стороной с длиной Bi за цену (Ai-Bi)* (Ai-Bi). Однако менять можно только ранее купленные плитки. Нельзя Менять плитку, полученную в результате обмена некоторой из ранее купленных плиток. Например, нельзя обменять плитку со стороной 3 на плитку со стороной 2 и потом плитку со стороной 2 поменять на плитку со стороной 1.
Определите минимальное количество денег, которое требуется ФД, чтобы сделать сумму площадей плиток равной M. Выведите –1, если невозможно получить площадь M.
PROBLEM NAME: tilechng
Формат входных данных
* Строка 1: Два разделенных пробелом целых числа, N (1<=N<=10) и M (1<=M<=10,000).
* Строки 2..1+N: Каждая строка содержит одно целое число (от A1 до AN, описывающих длины сторон входных квадратных плиток (1<=Ai<=100).
Формат выходных данных
* Строка 1: Минимальная стоимость обменов чтобы получить площадь M, или –1, если получить площадь M невозможно.
Примечание
Обменяем первую плитку со стороной 3 на плитку со стороной 2 square, а вторую плитку со стороной 3 на плитку со стороной 1. Это дает суммарную площадь 4+1+1=6 за цену 4+1=5.
Problem 2: Cow Lineup [Brian Dean]
Фермер Джон нанял профессионального фотографа, чтобы сфотографировать некоторых из своих коров. Поскольку у него есть коровы разных пород, он хочет иметь фото как минимум одной коровы каждой породы.
N коров ФД выстроены в ряд (позиция каждой указывается x-координатой) и целочисленным номером породы. ФД планирует сделать фотографию непрерывного участка коров. Стоимость фотографии равна ее размеру – то есть разностью между максимальной и минимальной x-координатами коров, представленных на фотографии.
Помогите ФД вычислить минимальную стоимость фотографии, в которой находится по крайней мере одна корова каждой породы.
PROBLEM NAME: lineup
Формат входных данных
* Строка 1: количество коров, N (1 <= N <= 50,000).
* Строки 2..1+N: Каждая строка содержит два числа, разделенных одиночным пробелом, указывающих x-координату и номер породы одной коровы. Оба числа не превосходят миллиард.
Формат выходных данных
* Строка 1: Минимальную стоимость фотографии, содержащей не менее одной коровы каждой породы.
Примечание
Диапазон от x=22 до x=26 (длиной 4) содержит коровы всех пород (1,3,7).
Problem 1: Cow Beauty Pageant (Silver Level) [Brian Dean]
Прослышав, что модно иметь коров с тремя пятнами, Фермер Джон купил целое стадо таких коров. К несчастью, мода меняется очень быстро, и сейчас в моде коровы с одним пятном.
ФД теперь хочет подкрасить своих коров так, чтобы они стали с одним пятном. Раскраска коровы задается двумерным массивом символов (N*M), например, так:
................ ..XXXX....XXX... ...XXXX....XX... .XXXX......XXX.. ........XXXXX... ..XXX....XXX....
Здесь 'X' обозначает часть пятна. Два символа 'X' принадлежат одному и тому же пятну, если они соседние вертикально или горизонтально (диагональные соседними не являются). Все коровы ФДЖ имеют ровно 3 пятна.
ФД хочет потратить как можно меньше краски, чтобы объединить три пятна в одно. На примере выше, он может сделать это, покрасив только 4 позиции, они обозначены символом ‘*’ на рис. ниже.
................ ..XXXX....XXX... ...XXXX*...XX... .XXXX..**..XXX.. ...*....XXXXX... ..XXX....XXX....
Помогите ФД определить минимальное количество клеток(символов), которые нужно закрасить, чтобы объединить три пятна в одно.
PROBLEM NAME: pageant
Формат входных данных
* Строка 1: Два разделенных пробелом целых числа, N и M (1 <= N,M <= 50).
* Строки 2..1+N: Каждая содержит строку из M символов 'X' и '.', указывающих соответствующую линию раскраски коровы.
Формат выходных данных
* Line 1: Минимальное количество сиволов 'X', которые нужно добавить ко введенным данным, чтобы получить единое пятно.
Примечание
4 символа ‘X’ нужно добавить, чтобы получить одно пятно.
Problem 1: Above the Median [Brian Dean]
Фермер Джон выстроил N (1 <= N <= 100,000) своих коров, чтобы померять их высоты. Корова i имеет высоту Hi (1 <= Hi <= 1,000,000,000) нанометров. ФД производит очень точные измерения! ФД хочет сфотографировать некоторую непрерывную последовательность своих коров, и послать эту фотографию на соревнование.
Допускается к соревнованию только фотография группы коров, у которой медианная высота не менее чем заданная величина X (1 <= X <= 1,000,000,000).
В этой задаче мы определяем медианой массива A[0..K] значение A[ceiling(K/2)] после того, как A отсортировали. Здесь ceiling(K/2) – это округление K/2 до ближайшего целого. Например, медиана от {7, 3, 2, 6} есть 6, а медиана от {5,4,8} есть 5.
Помогите ФД посчитать количество различных непрерывных последовательностей коров, фотографии которых будут допущены к соревнованию.
PROBLEM NAME: median
Формат входных данных
* Строка 1: Два разделенных пробелом целых числа: N и X.
* Строки 2..N+1: Строка i+1 содержит одно целое число Hi.
Формат выходных данных
* Строка 1: Количество подпоследовательностей коров ФД, у которых медиана не менее X. Заметим, что это число может не поместиться в 32-битное целое.
Примечание
Всего существует 10 непрерывных последовательностей. Однако только 7 из них имеют медиану не менее 6: {10}, {6}, {10, 5}, {5, 6}, {6, 2}, {10, 5, 6}, {10, 5, 6, 2}.
Problem 1: Contest Timing [Brian Dean]
Бесси надоело давать молоко, и она хочет сделать карьеру в компьютерной Индустрии. Чтобы улучшить свои навыки в кодировании, она решила поучаствовать в USACO-олимпиаде. Поскольку олимпиада начинается 11 ноября 2011 года (11/11/11), она решил загрузить условия и начать кодировать ровно в 11:11 утра 11/11/11.
К несчастью, Бесси не очень хорошо умеет планировать время, поэтому она хочет написать программу, которая поможет ей не превысить три часа (180 минут) во время выполнения заданий. По заданным дате и времени завершения работы, помогите Бесси вычислить общее количество минут, которое она потратит на контест.
PROBLEM NAME: ctiming
Формат входных данных
* Строка 1: Эта строка содержит три целых, разделенных одиночными пробелами, числа D H M, указывающих дату и время, когда Бесси закончит контест. D – целое число в диапазоне 11..14, указывает день месяца H и M часы и минуты на 24-часовыъх часах От 0 0 в полночь до H=23, M=59 в конце суток (момент времени 11:59 PM)
Формат выходных данных
* Строка 1: Общее количество минут, которое проведет Бесси на контесте, или –1, если время завершения раньше чем время начала.
Примечание
Бесси закончит контест через 1563 минуты после того как начнет.
Problem 2: Awkward Digits [Brian Dean]
Бесси учиться конвертировать числа между системами счисления, с различными основаниями, но она делает ошибки, поскольку тяжело держать ручку между копытами.
Когда Бесси записывает результат конвертирования, она всегда записывает одну цифру с ошибкой. Например, если она конвертирует число 14 в двоичную систему, корректный результат будет 1110, но она может написать вместо него «0110» или «1111». Бесси никогда не добавляет и не удаляет цифры, но у нее может получится число с ведущим нулем в результате ее ошибки.
Вам дается ответ, записанный Бесси при конвертировании числа N К основаниям 2 и 3. Определите исходное значение числа N в десятичной системе счисления. Вы можете полагать, что N не превосходит 1 миллиард, и что всегда существует уникальное значение N.
PROBLEM NAME: digits
Формат входных данных
* Строка 1: представление числа N в двоичной системе счисления, одна цифра записана некорректно. (основание=2)
* Строка 2: представление числа N в троичной системе счисления, одна цифра записана некорректно (основание=3).
Формат выходных данных
* Строка 1: корректное значение числа N.
Примечание
Корректное значение числа 14 ("1110" в двоичной системе, "112" в троичной).

Фермер Джон хочет сделать фотографию коров, которые стоят в ряд. А они все время перемещаются.
У ФД есть N (1 <= N <= 20,000) коров, каждая из которых имеет уникальный идентификатор - целое число. ФД хочет сфотографировать своих коров в особом порядке, который определяется содержимым массива A[1...N], где A[j] содержит ID j-ой коровы в правильном порядке.
ФД выстраивает своих коров, но прежде чем он успеет нажать кнопку "зафиксировать фотографию", группа коров (необязательно непрерывная) переходит на множество новых позиций (также необязательно непрерывных). ФД опять их выстраивает в желанном порядке, а часть коров снова перед самы нажатием меняет свои позиции. Так продолжается 5 раз.
Вам дается содержание каждой из этих 5 фотографий. Вы должны, если сможете, восстановить правильный порядок, заданныq массивом A.
Каждая фотография задает порядок, который в нескольких позициях отличается от правильного порядка. На каждой фотографии некоторые коровы перешли на другие позиции. Однако каждая корова перешла на новую позицию не более чем в одной фотографии. Более того, могут быть фотографии, на которых ни одна корова не меняла свою позицию.
PROBLEM NAME: photo
Формат входных данных
* Строка 1: Количество коров, N (1 <= N <= 20,000).
* Строки 2..5N+1: Следующие 5N строк описывают пять упорядочиваний, каждое одним блоком из N строк. Каждая строка содержит ID коровы целое число в диапазоне от 0 до 1,000,000,000.
Формат выходных данных
* Строки 1..N: Запланированный порядок A, по одному ID в строке.
Примечание
Запланированный порядок A[1..5]: 10, 20, 30, 40, 50.

Фермер Джон изучает программирование на вечерних курсах при местном университете и сейчас проходит тему "минимальное остовное дерево". Он осознал, что проект его фермы не оптимален, и хочет его улучшить.
Ферма сейчас организована в виде графа, вершины которого представляют поля, а ребра представляют дорожки между этим полями, с каждой ассоциирована ее длина.
ФД заметил, что для каждой длины имеется не более трех дорожек, имеющих такую длину. ФД хочет удалить некоторые из дорожек на своей ферме так, чтобы получилось дерево - то есть, чтобы существовал единственный путь между любыми двумя полями. Более того, Фд хочет, чтобы это было минимальное остовное дерево, то есть дерево, которое имеет минимально возможную сумму длин всех дорожек.
Помогите ФД вычислить не только сумму длин всех дорожек в минимальном остовном дереве, но также количество различных возможных минимальных остовных деревьев, которые он может создать.
PROBLEM NAME: simplify
Формат входных данных
* Строка 1: Два целых числа N и M (1 <= N <= 40,000; 1 <= M <= 100,000), представляющих количество вершин и ребер соответственно. Вершины пронумерованы от 1 до N.
* Строки 2..M+1: Три целых числа ai, bi ni (1 <= ai, bi <= N; 1 <= ni <= 1,000,000) представляющих ребро от вершины ai до bi длиной ni. Никакое ребро с длиной ni не встретиться более трех раз.
Формат выходных данных
* Строка 1: Два целых числа, представляющих длину минимального остовного дерева и количество минимальных остовных деревьев (по модулю 1,000,000,007)
Примечание
Выбрав оба ребра с длиной 1 и любое ребро с длиной 2 мы получим минимальное остовное дерево с длиной 4.

У Фермера Джона есть N пастбищ (2 <= N <= 100,000), соединенных N-1 двунаправленными дорогами так, что ровно один путь существует между любыми двумя пастбищами.
Бесси, любимая корова ФД пожаловалась, что на дорогах нет травы, и ФД решил посадить траву на дорогах.
Он делает это, используя процедуру, которая состоит из M шагов. (1 <= M <=100,000).
На каждом шаге происходит одна из двух вещей:
- ФД выбирает два пастбища и высаживает траву на каждой дороге пути между ними - Бесси спрашивает, сколько дорог засажено травой на конкретном пути, и ФД должен ей ответить.
Помогите ФД отвечать на вопросы.
PROBLEM NAME: grassplant
Формат входных данных
* Строка 1: Два разделенных пробелом целых числа N и M
* Строки 2..N: Два разделенных пробелом целых числа, описывающих конечные точки дороги.
* Строки N+1..N+M: Строка i+1 описывает шаг i. Первый символ этой строки либо P либо Q, которые описывают ФД садит траву или отвечает на вопрос. Затем следуют два разделенных пробелом целых числа Ai Bi (1 <= Ai, Bi <= N), которые описывают путь (для действия или вопроса)
Формат выходных данных
* Строки 1..???: Каждая строка содержит ответ на вопрос, в порядке поступления вопросов

Фермер Джон хочет сделать фотографию коров, которые стоят в ряд. А они все время перемещаются.
У ФД есть N (1 <= N <= 20,000) коров, каждая из которых имеет уникальный идентификатор - целое число. ФД хочет сфотографировать своих коров в особом порядке, который определяется содержимым массива A[1...N], где A[j] содержит ID j-ой коровы в правильном порядке.
ФД выстраивает своих коров, но прежде чем он успеет нажать кнопку "зафиксировать фотографию", группа коров (необязательно непрерывная) переходит на множество новых позиций (также необязательно непрерывных). ФД опять их выстраивает в желанном порядке, а часть коров снова перед самы нажатием меняет свои позиции. Так продолжается 5 раз.
Вам дается содержание каждой из этих 5 фотографий. Вы должны, если сможете, восстановить правильный порядок, заданныq массивом A.
Каждая фотография задает порядок, который в нескольких позициях отличается от правильного порядка. На каждой фотографии некоторые коровы перешли на другие позиции. Однако каждая корова перешла на новую позицию не более чем в одной фотографии. Более того, могут быть фотографии, на которых ни одна корова не меняла свою позицию.
PROBLEM NAME: photo
Формат входных данных
* Строка 1: Количество коров, N (1 <= N <= 20,000).
* Строки 2..5N+1: Следующие 5N строк описывают пять упорядочиваний, каждое одним блоком из N строк. Каждая строка содержит ID коровы целое число в диапазоне от 0 до 1,000,000,000.
Формат выходных данных
* Строки 1..N: Запланированный порядок A, по одному ID в строке.
Примечание
Запланированный порядок A[1..5]: 10, 20, 30, 40, 50.
Hay Bales#89789

Коровы вернулись! Фермер Джон аккуратно выстроил N (1 <= N <= 10,000) столбиков одинаковой высоты из пакетов сена. Однако пока он отошел ненадолго, коровы поперетаскивали некоторые пакеты между столбиками, так что теперь они необязательно имеют одинаковую высоту. По заданным новым высотам столбиков определите минимальное количество пакетов сена, которые нужно перенести, чтобы вернуть столбики к их исходным, одинаковым высотам.
PROBLEM NAME: haybales
Формат входных данных
* Строка 1: Количество столбиков, N (1 <= N <= 10,000). * Строки 2..1+N: Каждая строка содержит количество пакетов сена в одном столбике (целое число, от 1 до 10 000)
Формат выходных данных
* Строка 1: Одно целое число - минимальное количество пакетов сена, которое необходимо перенести, чтобы столбики стали одинаковой высоты.
Примечание
Переместив 7 пакетов сена, мы можем выровнять к 5 все высоты. 3 из столбика 2 в столбик 1, 2 из столбика 2 в столбик 4, 2 из столбика 3 в столбик 4.


Коровы планируют сбежать от Фермера Джона на плоту, через реку. Проблема заключается в том, что плот может не выдержать всех желающих. N коров (1 <= N <= 20) имеют веса w1 ... wN. У коров плохо со сложением, они не умеют выполнять перенос. Вам требуется определить размер наибольшей группы коров, веса которых можно сложить без переноса при сложении.
PROBLEM NAME: escape
Формат входных данных
* Строка 1: Количество коров, N (1 <= N <= 20).
* Строки 2..N+1: Каждая строка содержит вес одной коровы, целое число от 1...100,000,000.
Формат выходных данных
* Строка 1: максимальное количество коров, чьи веса могут быть сложены без переноса.


Примечание
Три веса 522, 6, 7311, могут быть сложены без переноса.
522 6 + 7311 ------ 7839

Problem XX: Cow Photography (Bronze) [Brian Dean, 2011]
Фермер Джон хочет сделать фотографию всех коров, выстроенных в ряд, а они не стоят на месте. N (1 <= N <= 20,000) коров помечены номерами от 1 до N. ФД хочет сфотографировать их, стоящими в ряд в конкретном порядке, заданном массивом A[1..N], где a[j] содержит номер j-той коровы в этом порядке. ФД выстроил коров в этом порядке, но прежде чем он нажал на клавишу фотоаппарата "Сделать снимок", одна корова переместилась на новую позицию. Он снова поставил их в нужном порядке (указанном массивом A), Но снова перед нажатием кнопки уже другая корова переместилась на новую позицию. Так происходило 5 раз. Вам дано содержание каждой фотографии, Вы должны реконструировать содержимое массива A. На каждой из фотографий не более чем одна корова переместилась на новую позицию. Возможно, что ни одна корова не перемещалась.
PROBLEM NAME: photo
Формат входных данных
* Строка 1: Количество коров, N (1 <= N <= 20,000).
* Строки 2..5N+1: Следующие 5N строк описывают 5 порядков, каждый состоит из N последовательных строк. Каждая строка содержит номер коровы, целое число.
Формат выходных данных
* Строки 1..N: Исходный порядок коров в массиве A, по одному ID в строке.
Примечание
Правильный исходный порядок в массиве A[1..5]: 1, 2, 3, 4, 5.

Маша хочет построить дачу на одной приглянувшейся ей улице. Эта улица имеет длину n, то есть состоит из n одинаковых идущих подряд участков. На каждом участке указан уровень шума от 1 до 9 (где 1 — тишина, 9 — очень шумно).

Маша хочет найти участок с уровнем шума ровно 1 (тихий участок), который находится максимально далеко от шумных участков. Шумным считается участок с уровнем шума 7 или больше.

Необходимо написать программу, которая найдёт номер такого тихого участка и расстояние до ближайшего шумного участка.

Если таких участков несколько, выбрать участок с наименьшим номером.

Гарантируется, что есть хотя бы один тихий участок (уровень шума 1) и хотя бы один шумный участок (уровень шума ≥ 7).

Формат входных данных

  • В первой строке натуральное число n (1 ≤ n ≤ 6 000 000)
  • Во второй строке n чисел от 1 до 9 через пробел

Формат выходных данных

  • Номер участка и расстояние до ближайшего шумного (через пробел)

В текстовом файле записана последовательность, состоящая из n натуральных чисел. Петя собирает самую большую возрастающую подпоследовательность чисел, при этом ему нужно, чтобы все числа в этой подпоследовательности давали одинаковый остаток при делении на 4.

Пример: в последовательности 5 8 13 9 17 12 21 25 можно выбрать:

  • 5 9 17 21 25 или 5 13 17 21 25 (остаток 1 при делении на 4, длина 5)
  • 8 12 (остаток 0 при делении на 4, длина 2)

Максимальная длина = 5.

Напишите программу, которая находит эту максимальную длину.

Формат входных данных

  • В первой строке число n (1 ≤ n ≤ 20000)
  • Во второй строке n чисел через пробел

Формат выходных данных

  • Длина самой большой такой подпоследовательности
Поделиться
Класснуть