Информатика

7 592 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
\(N\) (\(1 \leq N \leq 10^5\)) Є®а®ў ”Ґа¬Ґа  „¦®­  (а §«Ёз­® Ё¤Ґ­вЁдЁжЁа®ў ­­ле \(1 \ldots N\)), ўлбв஥­л ў ап¤. ”„ «оЎЁв, Є®Ј¤  ҐЈ® Є®а®ўл ўлбв஥­л Ї® ў®§а бв ­Ёо, ­® ᥩз б нв® ­Ґ в Є. ”„ ўл§лў Ґв Є®а®ўл Ї® ®¤­®©. Љ®Ј¤  Є®а®ў  ўл§ў ­ , ®­  Їа®ўҐапҐв, Ґб«Ё Є®а®ў  ­ҐЇ®б।б⢥­­® бЇа ў  ®в ­Ґс Ё¬ҐҐв ¬Ґ­миЁ© ID, в®Ј¤  ®­Ё ¬Ґ­повбп ¬Ґбв ¬Ё. ‡ вҐ¬, Ґб«Ё Є®а®ў  ­ҐЇ®б।б⢥­­® б«Ґў  ®в ­Ґс Ё¬ҐҐв Ў®«миЁ© ID, ®­Ё ¬Ґ­повбп ¬Ґбв ¬Ё. Љ®а®ў  ®бв ­ ў«Ёў Ґвбп ў в®зЄҐ, Є®Ј¤  Є®а®ў  б«Ґў  ®в ­Ґс Ё¬ҐҐв ¬Ґ­миЁ© ­®¬Ґа,   Є®а®ў  бЇа ў  ®в ­Ґс Ё¬ҐҐв Ў®«миЁ© ­®¬Ґа.

”„ е®зҐв ўлЎа вм Ї®¤¬­®¦Ґбвў® Є®а®ў, Ё § вҐ¬ Їа®ЁвҐаЁа®ў вмбп Ї® н⮬㠯®¤¬­®¦Ґбвўг, ўл§лў п Є ¦¤го Ё§ нвЁе Є®а®ў Ї® ®зҐаҐ¤Ё (ў Ї®ап¤ЄҐ ў®§а бв ­Ёп Ёе ID), ®Їпвм Ё ®Їпвм ¤® вҐе Ї®а, Ї®Є  ўбҐ Є®а®ўл ­Ґ бв ­гв ®вб®авЁа®ў ­л. Ќ ЇаЁ¬Ґа, Ґб«Ё ®­ ўлЎҐаҐв Ї®¤¬­®¦Ґбвў® Є®а®ў б ID \(\{2, 4, 5\}\), в® ®­ б­ з «  ўл§®ўҐв Є®а®ўг \(2\), § вҐ¬ Є®а®ўг \(4\), § вҐ¬ Є®а®ўг \(5\). …б«Ё ўбҐ \(N\) Є®а®ў Ґйс ­Ґ ®вб®авЁа®ў ­л, ®­ Ўг¤Ґв ўл§лў вм нвЁе Є®а®ў ®Їпвм Ё ®Їпвм, бЄ®«мЄ® ­г¦­® а §.

”„ е®зҐв ¬Ё­Ё¬Ё§Ёа®ў вм а §¬Ґа нв®Ј® ¬­®¦Ґбвў . Ѓ®«ҐҐ в®Ј®, Ї®бЄ®«мЄг ®­ бзЁв Ґв зЁб«® \(K\) бз бв«Ёўл¬, Ї®¬®ЈЁвҐ Ґ¬г ®ЇаҐ¤Ґ«Ёвм \(K\)-®Ґ «ҐЄбЁЄ®Ја дЁзҐбЄЁ ¬Ё­Ё¬ «м­®Ґ Ї®¤¬­®¦Ґбвў® ¬Ё­Ё¬ «м­®Ј® а §¬Ґа  в Є®Ґ, зв® ўл§лў п Ї®б«Ґ¤®ў вҐ«м­® Є®а®ў нв®Ј® Ї®¤¬­®¦Ґбвў  ­г¦­®Ґ Є®«ЁзҐбвў® а § ¬®¦­® ®вб®авЁа®ў вм ўбҐе Є®а®ў.

Џ®¤¬­®¦Ґбвў® \(S\) Ё§ \(\{1,\dots,N\}\) ­ §лў Ґвбп «ҐЄбЁЄ®Ја дЁзҐбЄЁ ¬Ґ­миҐ, 祬 Ї®¤¬­®¦Ґбвў® \(T\) Ґб«Ё бЇЁб®Є н«Ґ¬Ґ­в®ў ў \(S\) (ў Ї®ап¤ЄҐ ў®§а бв ­Ёп) «ҐЄбЁЄ®Ја дЁзҐбЄЁ ¬Ґ­миҐ, зҐ бЇЁб®Є н«Ґ¬Ґ­в®ў Ё§ \(T\) (ў Ї®ап¤ЄҐ ў®§а бв ­Ёп). Ќ ЇаЁ¬Ґа, \(\{1, 3, 6\}\) «ҐЄбЁЄ®Ја дЁзҐбЄЁ ¬Ґ­миҐ, 祬 \(\{1, 4, 5\}\).

ЋжҐ­Ёў ­ЁҐ: ‚ вҐбв е ­  \(3/16\) Ў ««®ў \(N \leq 6\) and \(K = 1\). ‚ ¤®Ї®«­ЁвҐ«м­ле вҐбв е ­  \(5/16\) Ў ««®ў, \(K = 1\). ‚ ¤®Ї®«­ЁвҐ«м­ле вҐбв е ­  \(8/16\) Ў ««®ў, ­Ґв ¤агЈЁе ®Ја ­ЁзҐ­Ё©.

”ЋђЊЂ’ ‚‚Ћ„Ђ (д ©« itout.in):

ЏҐаў п бва®Є  ᮤҐа¦Ёв ®¤­® 楫®Ґ зЁб«®, \(N\). ‚в®а п бва®Є  ᮤҐа¦Ёв ®¤­® 楫®Ґ зЁб«®, \(K\) (\(1 \leq K \leq 10^{18}\)). ’аҐвмп бва®Є  ᮤҐа¦Ёв \(N\) а §¤Ґ«с­­ле ®¤Ё­®з­л¬Ё Їа®ЎҐ« ¬Ё 楫ле зЁбҐ«, ЇаҐ¤бв ў«пойЁе ID Є®а®ў б«Ґў  ­ Їа ў®.

ѓ а ­вЁагҐвбп, Ўг¤Ґв Є Є ¬Ё­Ё¬г¬ \(K\) Є®а४в­ле Ї®¤¬­®¦Ґбвў.

”ЋђЊЂ’ ‚›‚Ћ„Ђ (д ©« itout.out):

ЏҐаў п бва®Є  ўлў®¤  ᮤҐа¦Ёв а §¬Ґа ¬Ё­Ё¬ «м­®Ј® Ї®¤¬­®¦Ґбвў . Ћбв ўиЁҐбп бва®ЄЁ ¤®«¦­л ᮤҐа¦ вм ID Є®а®ў ў \(K\)-®¬ «ҐЄбЁЄ®Ја дЁзҐбЄЁ ¬Ё­Ё¬ «м­®¬ Ї®¤¬­®¦Ґб⢥ ¬Ё­Ё¬ «м­®Ј® а §¬Ґа ,Ї® ®¤­®¬г ID ў бва®ЄҐ, ў Ї®ап¤ЄҐ ў®§а бв ­Ёп.

Џђ€Њ…ђ ‚‚Ћ„Ђ:

4 1
4 2 1 3

Џђ€Њ…ђ ‚›‚Ћ„Ђ:

2
1
4

Њл ­ зЁ­ Ґ¬ б ¬ ббЁў  \(\mathtt{\:4\:\; 2\:\; 1\:\; 3\:}\). Џ®в®¬ ”„ ўл§лў Ґв Є®а®ўг б ID 1Ў Ї®«гзЁвбп ¬ ббЁў \(\mathtt{\:1\:\; 4\:\; 2\:\; 3\:}\). Џ®в®¬ ”„ ўл§лў Ґв Є®а®ўг б ID 4 Ї®«гзЁвбп ¬ ббЁў \(\mathtt{\:1\:\; 2\:\; 3\:\; 4\:}\). ‚ нв®© в®зЄҐ ¬ ббЁў ®вб®авЁа®ў ­.

Problem credits: Spencer Compton

Teamwork#89993
На его любимый праздник Фермер Джон хочет послать подарки своим друзьям. ФД позвал коров на помощь в заворачивании подарков.

\(N\) коров (\(1 \leq N \leq 10^4\)) ФД стоят в ряд, последовательно пронумерованные \(1 \ldots N\). Корова \(i\) имеет \(s_i\) - уровень мастерства в заворачивании подарков. ФД решил объединить коров в команды. Команда состоит из любого последовательного множества коров числом не более \(K\) коров (\(1 \leq K \leq 10^3\)), и корова не может быть более чем в одной команде. Поскольку коровы могут учиться друг у друга, уровень мастерства каждой коровы в команде может быть заменен на уровень мастерства самой мастеровитой коровы.

Помогите ФД определить максимально возможную сумму уровней мастерства, которую он может получить, оптимально сформировав команды.

ФОРМАТ ВВОДА (файл teamwork.in):

Первая строка ввода содержит \(N\) и \(K\). Следующие \(N\) строк содержат уровни мастерства \(N\) коров в порядке как они стоят. Каждый уровень мастерства это положительное целое число не более \(10^5\).

ФОРМАТ ВЫВОДА (файл teamwork.out):

Выведите наибольшую возможную сумму уровней мастерства, которую может получить ФД, сгруппировав коров по командам.

Фермер Джон хочет изменить расположение бидонов для дойки его коров. Он думает что их станет нужно меньше, но он не знает, сколько точно. Помогите ему.

У ФД \(N\) коров (\(1 \leq N \leq 100\)), последовательно пронумерованных \(1 \ldots N\). I-ую корову необходимо доить в интевале от времени \(s_i\) до времени \(t_i\), и для дойки требуется \(b_i\) бидонов. Процесс дойки нескольких коров может проходить в одно и то же время. Если так, то не могут использоваться одни и те же бидоны для дойки разных коров. То есть, бидон, назначенный корове \(i\) не может для дойки других коров во время от \(s_i\) до \(t_i\). Вне этого временного окна, этот бидон может быть использован для дойки других коров. Для того, чтобы упростить себе работу, ФД обеспечивает, что в любой момент времени не более одна корова начинает или заканчивает дойку. (то есть все \(s_i\) и \(t_i\) различны)

У ФД есть место, где храняться все бидоны, последовательно пронумерованные 1, 2, 3 ... В текущей стратегии дойки, когщда некоторая корова (например корова \(i\)) начинает дойку (в момент времени \(s_i\)) ФД идёт в комнату хранения, берёт \(b_i\) баллонов с наименьшими номерами и назначает их для дойки коровы \(i\).

Определите, сколько всего баллонов нужно ФД иметь в комнате хранения, чтобы успешно подоить всех коров.

ФОРМАТ ВВОДА (файл blist.in):

Первая строка воода содержит число \(N\). Каждая из следующих \(N\) строк описывает одну корову и содержит три числа \(s_i\), \(t_i\), \(b_i\), разделённых одиночными пробелами. \(s_i\) и \(t_i\) - целые числа в интервале \(1 \ldots 1000\), \(b_i\) - целое число в интервале \(1 \ldots 10\).

ФОРМАТ ВЫВОДА (файл blist.out):

Выведите одно целое число - сколько баллонов нужно ФД.

Фермерство - соревновательный бизнес --- особенно производство молока. Фермер Джон осознал, что если он не придумаетчто-то инновационное, его ежедневный бизнес может сильно пострадать.

К счастью, у ФД есть хорошая идея. Его три лучшие коровы Беси, Эльза и Милдред дают молоко различного вкуса. Поэтому он планирует смешивать молоко для получения совершенного вкуса.

Чтобы смешать три различных вида молока, он берёт три бидона с молоком - по бидону от каждой коровы. Эти бидоны могут иметь различные размеры и могут быть заполнены не полностью. Он переливает часть молока из бидона 1 в бидон 2, затем из бидона 2 бидон 3, затем из бидона 3 в бидон 1, снова из бидона 1 в бидон 2 и т.д. циклически. Всего он выполняет 100 таких операций. (100-ая будет как раз из бидона 1 в бидон 2). Когда ФД переливает молоко из бидона \(a\) в бидон \(b\), он переливает переливает молоко пока это возможно то есть или пока бидон \(a\) станет пустым, или бидон \(b\) станем полным.

Пожалуйста, подскажите ФД, сколько молока будет в каждом бидоне, после того как он выполнит все 100 переливаний.

ФОРМАТ ВВОДА (файл mixmilk.in):

Первая строка ввода содержит два разделённых пробелом целых числа: ёмкость первого бидона \(c_1\) и количество молока в первом бидоне \(m_1\) Оба числа положительные, и не превышают 1 миллиард, причём \(c_1 \geq m_1\). Вторая и третья строки содержат аналогичную информацию про второй и третий бидоны (вместимость и наполненность).

ФОРМАТ ВЫВОДА (файл mixmilk.out):

Выведите три строки - финальное количество молока в каждом из бидонов после выполнения 100 операций переливания.

У Фермера Джона два молочных амбара, в которых есть огромная цистерна для молока и 10 бидонов различных размеров. Он любит носить молоко из одного амбара в другой в качестве физических упражнений.

В понедельник ФД отмерял ровно \(1000\) галлонов молока в цистерну первого амбара, и ровно \(1000\) галлонов молока в цистерну второго амбара.

Во вторник он берёт бидон из первого амбара, наполняет его и переносит во второй амбар, где выливает это молоко в цистерну, а бидон оставляет во втором амбаре.

В среду он берёт бидон из второго амбара (возможно, тот, который он оставил во вторник), наполняет его, переносит молоко в первый амбар и выливает его в цистерну первого амбара. Он оставляет бидон в первом амбаре.

В четверг он берёт бидон из первого амбара (возможно тот, который оставил в среду), наполняет его и переносит во второй амбар, где выливает это молоко в цистерну, а бидон оставляет во втором амбаре.

В пятницу он берёт бидон из второго амбара (возможно, тот, который он оставил во вторник ил четверг), наполняет его, переносит молоко в первый амбар и выливает его в цистерну первого амбара. Он оставляет бидон в первом амбаре.

ФД измеряет молоко в цистерне первого амбара. Сколько возможных вариантов такого измерения он может увидеть?

ФОРМАТ ВВОДА (файл backforth.in):

Первая строка ввода содержит \(10\) целых чисел - размеры бидонов находившихся изначально в первом амбаре. Вторая строка ввода содержит \(10\) целых чисел - размеры бидонов находившихся изначально во втором амбаре. Все размеры в интервале \(1 \dots 100\).

ФОРМАТ ВЫВОДА (файл backforth.out):

Количество различных вариантов считываний, которые может увидеть ФД после пятницы в первом амбаре.

Вам дали длинное домашнее задание из \(N\) вопросов (\(3 \leq N \leq 100,000\)), каждый из которых оценивается баллами в интервале 0...10,000. Как это часто бывает, Ваш учитель планирует выставить финальную оценку, отбрасывая вопрос, на котором Вы получили самую низкую оценку, и находя среднюю оценку среди оставшихся. К несчастью, Беси съела Ваши ответы на первые \(K\) вопросов (\(K\) от 1 до \(N-2\))

Выслушав объяснения, Ваш учитель поверил Вам и согласился оценивать оставшиеся несъеденными ответы по прежней схеме - удалив самый маленький балл (или один из них, если их несколько) и взяв среднее от оставшихся.

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

ФОРМАТ ВВОДА (файл homework.in):

Первая строка ввода содержит \(N\), а следующая строка содержит оценки по \(N\) вопросам.

ФОРМАТ ВЫВОДА (файл homework.out):

Выведите по одлному числу в строке, все значения \(K\) при которых Вы заработаете максимальную оценку.

Каждая из коров Фермера Джона изначально производит \(G\) галлонов молока в день (\(1 \leq G \leq 10^9\)). Поскольку надой может варьироваться со временем, ФД время от времени проводит измерения и и фиксирует их в следующем формате:

35 1234 -2
14 2345 +3

Первая строка означает, что в день 35 корова #1234 дала на 2 галлона меньше, чем при последнем измерении. Следующая запись означает, что в день 14 корова #2345 дала на 3 галлона молока больше, чем при последнем измерении. ФД каждый день делает не более одного измерения. И записывает их необязательно в хронологическом порядке.

Чтобы мотивировать коров, ФД отображает на стене карточки коров, которые показывают наивысший надой. (если таких коров несколько, тогда на стене вывешиваются карточки всех таких коров). Определите количество дней, в которые ФД должен менять состав карточек.

Заметим, что у ФД огромное стадо коров, и хотя у некоторых из них делались замеры изменения надоя, всегда имеются другие коровы, чей надой остаётся \(G\) галлонов.

ФОРМАТ ВВОДА (файл measurement.in):

Первая строка ввода содержит количество измерений \(N\), которые сделал ФД (\(1 \leq N \leq 100,000\)), за которым следует \(G\). Каждая из последующих \(N\) строк содержит одно измерение в формате, описанном выше, указывая день(целое число в интервале \(1 \ldots 10^6\)), целый ID коровы (в интервале \(1 \ldots 10^9\)) и изменение надоя в последнем измерении (ненулевое целое число). Надой всегда будет в интервале \(0 \ldots 10^9\).

ФОРМАТ ВЫВОДА (файл measurement.out):

Выведите количество дней, в которые ФД должен будет менять карточки на стене.

Коровы Фермера Джона хотят измерить уникальность своих имён.

Имя каждой коровы содержит некоторое количество подстрок. Например, "amy" имеет подстроки {a, m, y, am, my, amy}, а "tommy" имеет подстроки: {t, o, m, y, to, om, mm, my, tom, omm, mmy, tomm, ommy, tommy}.

Имя коровы имеет "фактор уникальности" - количество подстрок, которых нет у имён других коров. Например, если "amy" - единственная корова в стаде, её фактор уникальности равен 6. Если "tommy" - единственная корова в стаде, её фактор уникальности равен 1. Если в стаде 2 коровы "amy" и "tommy", то их факторы уникальности будут соответственно 3 и 11.

По заданному стаду коров определите фактор уникальности каждой коровы.

ФОРМАТ ВВОДА (файл standingout.in):

Первая строка ввода содержит \(N\) (\(1 \le N \le 10^5\)). Каждая из следующих \(N\) строк содержит имя коровы в стаде. Каждое имя содержит только маленькие латинские буквы a-z. Общая длина всех имён не превысит \(10^5\).

ФОРМАТ ВЫВОДА (файл standingout.out):

Выведите \(N\) чисел, по одному в строке, описывающие фактор уникальности каждой коровы.

У фермера Джона огромная ферма с \(N\) амбарами (\(1 \le N \le 10^5\)), некоторые из которых уже покрашены, а некоторые - нет. ФД хочет покрасить эти оставшиеся амбары так, чтобы все амбары были покрашены, но у него есть краски всего трёх цветов. При этом нельзя красить в один цвет амбары, между которыми есть дорожка.

Сколькими способами ФД может покрасить оставшиеся амбары?

ФОРМАТ ВВОДА (файл barnpainting.in):

Первая строка содержит два целых числа \(N\) и \(K\) (\(0 \le K \le N\)), соответственно, количество амбаров на ферме и количество амбаров, которые уже покрашены.

Каждая из следующих \(N-1\) строк содержит два целых числа \(x\) и \(y\) (\(1 \le x, y \le N, x \neq y\)), описывающих дорожку между амбарами \(x\) и \(y\).

Каждая из следующих \(K\) строк содержит два целых числа \(b\) и \(c\) (\(1 \le b \le N\), \(1 \le c \le 3\)), указывающих, что амбар \(b\) покрашен в цвет \(c\).

ФОРМАТ ВЫВОДА (файл barnpainting.out):

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

У Беси и Эльзы по N (\(1 \leq N \leq 10^5\)) пирогов. Каждый из \(2N\) пирогов имеет величину вкусности по мнению Беси и величину вкусности (возможно отличающуюся) по мнению Эльзы.

Беси хочет отдать один из своих пирогов Эльзе. Если Эльза получит пирог от Беси, она должна будет отдать один из своих пирогов Беси. Чтобы не оказаться ни скупой, ни щедрой, Эльза постарается выбрать пирог, как минимум, такой же вкусный (по мнению Эльзы) как она получила, но не более чем на \(D\) единиц вкуснее (\(0 \leq D \leq 10^9\)). Такой пирог может не существовать, в этом случае Эльза сбежит в Японию.

Но если Эльза отдаст Беси пирог взамен, то Беси аналогично постарается отдать Эльзе пирог, как минимум такой же вкусный (по мнению Беси), но не более чем на \(D\) единиц вкуснее, чем кусок, который она получила. Если Беси не сможет, то тоже сбежит. Иначе отдаст кусок Эльзе. Этот цикл продолжается, пока возможно, или пока одна из коров не получит кусок с величиной вкусности равной \(0\), в этом случае процесс заканчивается и обе коровы счастливы.

Заметим, что один и тот же кусок не может быть подарен дважды, и кусок не может вернуться той корове, которая его дарила.

Для каждого из \(N\) кусков Беси может выбрать его как начальный подарок Эльзе. Определите минимальное количество кусков, которые могут быть подарены так, чтобы обе коровы оказались счастливы.

ФОРМАТ ВВОДА (файл piepie.in):

Первая строка содержит два целых числа \(N\) и \(D\).

Следующие \(2N\) строк содержат по два целых числа, разделённых пробелом, соответственно обозначающие вкусность данного куска по мнению Беси и по мнению Эльзы.

Первые \(N\) строк о кусках Беси, а оставшиеся \(N\) строк о кусках Эльзы.

Гарантируется, что все величины вкусности в интервале \([0,10^9]\).

ФОРМАТ ВЫВОДА (файл piepie.out):

На выводе должно быть \(N\) строк. Строка \(i\) должна содержать одно целое число: минимальное количество кусков, которое может быть подарено при счастливом исходе, если Беси начнёт с куска \(i\). Если счастливый исход при начале с куска \(i\) невозможен, то строка \(i\) должна содержать \(-1\).

Думая, что счастливые коровы дают больше молока, Фермер Джон установил гигантский диско-шар в амбаре и планирует учить своих коров танцевать.

Он решил учить их танцу "Bovine Shuffle". Этот танец состоит из \(N\) коров (\(1 \leq N \leq 100\)) выстроенных в ряд в некотором порядке, после которого они снова будут выстроены в ряд, возможно в другом порядке. ФД отметил позиции \(1 \ldots N\), и первая корова становится на позицию 1, вторая - на позицию 2, ..., последняя на позицию \(N\).

Перестановка описывается N числами \(a_1 \ldots a_N\), где корова из позиции i перемещается на позицию \(a_i\) во время перестановки (и конечно каждое \(a_i\) есть число от 1 до N). Каждая корова двигается на свою новую позицию во время перестановки. К счастью, все \(a_i\) различны, поэтому никакие две коровы не пойдут в одну и ту же позицию во время перестановки.

Каждой из коров ФД назначен уникальный ID из 7 цифр. Вам даётся порядок коров после трёх перестановок, определите начальный порядок.

ФОРМАТ ВВОДА (файл shuffle.in):

Первая строка ввода содержит \(N\), количество коров. Следующая строка содержит \(N\) целых чисел \(a_1 \ldots a_N\). Последняя строка содержит порядок \(N\) коров после трёх перестановок, для каждой коровы указан её ID.

ФОРМАТ ВЫВОДА (файл shuffle.out):

Вы должны вывести \(N\) строк, по одному ID в строке, указав порядок коров перед тремя перестановками.

Фермер Джон купил трёх коров: Bessie, Elsie, Mildred, каждая из которых изначально производит 7 галлонов молока в день. Поскольку надои коровы меняются с течением времени, ФД записал измерения в течение 100 дней в следующем виде:

35 Bessie -2
14 Mildred +3

Первая строка означает, в что в день 35 Bessie дала на 2 галлона меньше, чем во время последнего измерения. Следующая строка означает, что в день 14 Mildred дала на 3 галлона молока больше, чем во время последнего измерения. ФД делает не больше одного измерения в день. К несчастью, записи идут у него не обязательно в хронологическом порядке.

Для мотивации коров, ФД отображает на стене амбара карточку коровы, которая сейчас даёт больше всех молока. (Если таких коров несколько, он отображает все карточки). Определите количество дней, в которые ФД должен будет менять это отображение.

ФОРМАТ ВВОДА (файл measurement.in):

Первая строка ввода содержит \(N\), количество измерений, которые сделал ФД. Каждая из последуюших \(N\) строк описывает одно измерение, в формате, описанном выше. день (целое число от 1 до 100), имя коровы, и изменение производительности (ненулевое целое число). Количество молока, которое даёт любая корова, всегда будет в интервале 0..1000.

ФОРМАТ ВЫВОДА (файл measurement.out):

Выведите количество дней, (целое число от 0 до 100), в которые ФД должен будет менять карточки коров.

Во время дойки Беси любит смотреть в окно амбара на два огромных прямоугольных рекламных щита: "Farmer Alex's Amazingly Appetizing Alfalfa" и "Farmer Greg's Great Grain". Продукты на них выглядят вкуснее, чем трава на ферме.

Однажды глядя в окно, Беси увидела огромный прямоугольный грузовик, паркующийся поперёк дороги. На боку грузовика была реклама для "Farmer Smith's Superb Steaks", которую Беси не могла понять, и которая заслоняла её любимые рекламы.

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

Формат ввода (файл billboard.in):

Первая строка ввода содержит четыре числа, разделённых одиночными пробелами: \(x_1\) \(y_1\) \(x_2\) \(y_2\), где \((x_1, y_1)\) и \((x_2, y_2)\) - координаты левого нижнего и правого верхнего углов первого щита. Следующая строка ещё четыре числа - аналогично координаты левого нижнего и правого верхнего углов второго щита. Третья и последняя строка ввода аналогично содержит четыре целых числа указывающих левый нижний и правый верхний углы грузовика. Все координаты в интервале -1000 1000. Гарантируется, что первые 2 щита не имеют положительной площади пересечения.

Формат вывода (файл billboard.out):

Выведите общую площадь двух щитов, которая остаётся видимой.

Беси собрала \(N\) алмазов (\(N \leq 50,000\)) различных размеров. И хочет разместить их в двух ящиках в амбаре. Беси не будет включать в один ящик алмазы, если их размеры отличаются более чем на \(K\). По заданному \(K\) определите максимальное количество алмазов, которое Беси сможет разместить в двух ящиках вместе.

ФОРМАТ ВВОДА (файл diamond.in):

Первая строка ввода содержит \(N\) и \(K\) (\(0 \leq K \leq 1,000,000,000\)). Каждая из следующих \(N\) строк содержит целое число - размер одного алмаза. Все размеры - положительные и не превышают \(1,000,000,000\).

ФОРМАТ ВЫВОДА (файл diamond.out):

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

ЃҐбЁ ЁЈа Ґв ў ЁЈаг.

€Ја  ­ зЁ­ Ґвбп б Ї®б«Ґ¤®ў вҐ«м­®бвЁ Ё§ \(N\) Ї®«®¦ЁвҐ«м­ле 楫ле зЁбҐ« (\(2 \leq N \leq 262,144\)), Є ¦¤®Ґ ў ¤Ё Ї §®­Ґ \(0 \ldots 40\). ‡  ®¤Ё­ 室 ЃҐбЁ ¬®¦Ґв ‚§пвм ¤ў  б®бҐ¤­Ёе а ў­ле зЁб«  Ё § ¬Ґ­Ёвм Ёе ­  зЁб«® ­  1 Ў®«миҐ (­ ЇаЁ¬Ґа, ®­  ¬®¦Ґв § ¬Ґ­Ёвм ¤ўҐ б®бҐ¤­ЁҐ 7 ­  ®¤­г 8). –Ґ«м ЁЈал - ¬ ЄбЁ¬Ё§Ёа®ў вм §­ зҐ­ЁҐ б ¬®Ј® Ў®«ми®Ј® зЁб« , Є®в®а®Ґ ®­  ¬®¦Ґв Ї®«гзЁвм. Џ®¬®ЈЁвҐ Ґ©.

”ЋђЊЂ’ ‚‚Ћ„Ђ (д ©« 262144.in):

ЏҐаў п бва®Є  ўў®¤  ᮤҐа¦Ёв \(N\),   б«Ґ¤гойЁҐ \(N\) бва®Є § ¤ ов Ї®б«Ґ¤®ў вҐ«м­®бвм Ё§ \(N\) зЁбҐ«, б Є®в®але ­ зЁ­ Ґвбп ЁЈа .

”ЋђЊЂ’ ‚›‚Ћ„Ђ (д ©« 262144.out):

‚뢥¤ЁвҐ ­ ЁЎ®«м襥 зЁб«®, Є®в®а®Ґ ЃҐбЁ ¬®¦Ґв бЈҐ­ҐаЁа®ў вм

Џђ€Њ…ђ ‚‚Ћ„Ђ:

4
1
1
1
2

Џђ€Њ…ђ ‚›‚Ћ„Ђ:

3

‚ ЇаЁ¬ҐаҐ ЃҐбЁ б­ з «  б«Ёў Ґв ўв®аго Ё ваҐвмо 1 Ё Ї®«гз Ґв Ї®б«Ґ¤®ў вҐ«м­®бвм 1 2 2 ,   § вҐ¬ б«Ёў Ґв ¤ўҐ ¤ў®©ЄЁ ў 3. ‡ ¬ҐвЁ¬, зв® ­Ґ ®ЇвЁ¬ «м­® б«Ёў вм ЇҐаўлҐ ¤ўҐ Ґ¤Ё­Ёжл.

Ђўв®а: Mark Chen Bessie likes downloading games to play on her cell phone, even though she does find the small touch screen rather cumbersome to use with her large hooves.

She is particularly intrigued by the current game she is playing. The game starts with a sequence of \(N\) positive integers (\(2 \leq N \leq 262,144\)), each in the range \(0 \ldots 40\). In one move, Bessie can take two adjacent numbers with equal values and replace them a single number of value one greater (e.g., she might replace two adjacent 7s with an 8). The goal is to maximize the value of the largest number she can create. Please help Bessie score as highly as possible!

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

The first line of input contains \(N\), and the next \(N\) lines give the sequence of \(N\) numbers at the start of the game.

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

Please output the largest integer Bessie can generate.

”Ґа¬Ґа „¦®­ бва®Ёв б ¤ Ё Ґ¬г вॡгҐвбп ЇҐаҐ¬ҐбвЁвм ¬­®Ј® ¤са­ .

‘ ¤ б®бв®Ёв Ё§ Ї®б«Ґ¤®ў вҐ«м­®бвЁ Ё§ \(N\) Є«г¬Ў (\(1 \leq N \leq 100,000\)), ѓ¤Ґ Є«г¬Ў  \(i\) Ё§­ з «м­® ᮤҐа¦Ёв \(A_i\) Ґ¤Ё­Ёж ¤са­ . ”„ е®зҐв ८࣠­Ё§®ў вм б ¤ в Є, зв®Ўл Є ¦¤ п Є«г¬Ў  бв «  ᮤҐа¦ вм \(B_i\) Ґ¤Ё­Ёж ¤са­ . \(A_i\) Ё \(B_i\) - жҐ«лҐ зЁб«  ў Ё­вҐаў «Ґ \(0 \ldots 10\).

„«п Ё§¬Ґ­Ґ­Ёп « ­¤и дв  ”„ Ё¬ҐҐв ­ҐбЄ®«мЄ® ў аЁ ­в®ў: ®­ ¬®¦Ґв ЄгЇЁвм ®¤­г Ґ¤Ё­Ёжг ¤са­  Ё Ї®«®¦Ёвм Ґс ­  «оЎго Є«г¬Ўг §  \(X\) Ґ¤Ё­Ёж ¤Ґ­ҐЈ. Ћ­ ¬®¦Ґв б­пвм ®¤­г Ґ¤Ё­Ёжг ¤са­  б «оЎ®© Є«г¬Ўл Ё Їа®¤ вм Ґс §  \(Y\) Ґ¤Ё­Ёж ¤Ґ­ҐЈ. Ћ­ в Є¦Ґ ¬®¦Ґв ЏҐаҐ¬ҐбвЁвм ®¤­г Ґ¤Ё­Ёжг ¤са­  б Є«г¬Ўл \(i\) ­  Є«г¬Ўг \(j\) §  \(Z\) times \(|i-j|\). ‚лзЁб«ЁвҐ ¬Ё­Ё¬ «м­го бв®Ё¬®бвм, §  Є®в®аго ”„ ¬®¦Ґв ўлЇ®«­Ёвм бў®© Їа®ҐЄв.

”ЋђЊЂ’ ‚‚Ћ„Ђ (д ©« landscape.in):

ЏҐаў п бва®Є  ўў®¤  ᮤҐа¦Ёв \(N\), \(X\), \(Y\), \(Z\) (\(0 \leq X, Y \le 10^8; 0 \le Z \leq 1000\)). ‘ва®Є  \(i+1\) ᮤҐа¦Ёв жҐ«лҐ зЁб«  \(A_i\) Ё \(B_i\).

”ЋђЊЂ’ ‚›‚Ћ„Ђ (д ©« landscape.out):

‚뢥¤ЁвҐ ¬Ё­Ё¬ «м­го б㬬 а­го бв®Ё¬®бвм Їа®ўҐ¤Ґ­Ёп а Ў®в.

Џђ€Њ…ђ ‚‚Ћ„Ђ:

4 100 200 1
1 4
2 3
3 2
4 0

Џђ€Њ…ђ ‚›‚Ћ„Ђ:

210

‡ ¬ҐвЁ¬ зв® в Є п § ¤ з  ¤ ў « бм ў ®¤­®¬ Ё§ ЇаҐ¦­Ёе USACO-Є®­вҐбв®ў ­  га®ў­Ґ Silver. Ћ¤­ Є® ᥩз б бгйҐб⢥­­® 㬥­м襭® ўаҐ¬п ­  вҐбв.

Ђўв®а: Brian Dean Farmer John is building a nicely-landscaped garden, and needs to move a large amount of dirt in the process.

The garden consists of a sequence of \(N\) flowerbeds (\(1 \leq N \leq 100,000\)), where flowerbed \(i\) initially contains \(A_i\) units of dirt. Farmer John would like to re-landscape the garden so that each flowerbed \(i\) instead contains \(B_i\) units of dirt. The \(A_i\)'s and \(B_i\)'s are all integers in the range \(0 \ldots 10\).

To landscape the garden, Farmer John has several options: he can purchase one unit of dirt and place it in a flowerbed of his choice for \(X\) units of money. He can remove one unit of dirt from a flowerbed of his choice and have it shipped away for \(Y\) units of money. He can also transport one unit of dirt from flowerbed \(i\) to flowerbed \(j\) at a cost of \(Z\) times \(|i-j|\). Please compute the minimum total cost for Farmer John to complete his landscaping project.

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

The first line of input contains \(N\), \(X\), \(Y\), and \(Z\) (\(0 \leq X, Y \le 10^8; 0 \le Z \leq 1000\)). Line \(i+1\) contains the integers \(A_i\) and \(B_i\).

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

Please print the minimum total cost FJ needs to spend on landscaping.

Фермер Джон решил украсить свой дом. Посетив китайский магазинчик, он нашёл стеклянную фигурку коровы и решил её купить.

Форма коровы описывается решёткой из \(N \times M\) (\(3 \leq N, M \leq 500\)) символов (на рисунке ниже приведён пример). Различные символы (маленькие латинские) обозначают различные цвета, а символ '.' - отсутствие фигуры.

 


...............
...............
x..x...........
xxxx...........
xxxxaaaaaaa....
.xx.aaaaaaaaa..
....aaaaaaa.aa.
....ll...ll....
....vv...vv....
...............

К несчастью до покупки в магазинчик ворвался бык, всё разгромил и сломал фигурку ФД на три части, которые затерялись на полу среди \(K\) (\(4 \leq K \leq 100\)) других кусков на полу. Каждый из \(K\) кусков на полу описывается аналогично тому как это сделано выше.

Помогите ФД определить сколько наборов из 3 кусков (из \(K\) валяющихся на полу) могут составить сломанную фигуру.

Куски на полу могут перемещаться горизонтально и вертикально, переворачиваться горизонтально и вертикально, а также поворачиваться на количество градусов, кратное 90. Они должны составить точно исходную фигурку — каждая позиция должна быть представлена ровно одним куском.

 

ФОРМАТ ВВОДА:

Первая строка содержит одно целое число \(K\). Далее идут \(K + 1\) описаний. Первое описывает оригинальную фигурку, остальные \(K\) - описание кусков на полу.

Каждое описание начинается со строки, содержащей два целых числа \(R\) и \(C\) (\(1 \le R, C \le 100\)). Последующие \(R\) строк содержат по \(C\) маленьких латинских символов, описывающих цвет каждой ячейки. Каждый кусок соединяется горизонтально или вертикально и имеет хотя бы одну не-пустую ячейку.

 

ФОРМАТ ВЫВОДА:

Выведите количество триплетов \(i, j, k\) (\(i < j < k\)) таких, что куски \(i\), \(j\), и \(k\) могут составить исходную фигурку коровы.

 

ПРИМЕР ВВОДА:


5
5 5
aaaaa
..a..
bbabb
..a..
aaaaa
3 5
..abb
..a..
aaaaa
5 2
a.
a.
aa
a.
a.
1 2
bb
1 5
bbabb
2 5
aaaaa
..a..

ПРИМЕР ВЫВОДА:


3

Эти три решения используют куски \((0, 1, 2)\), \((0, 2, 4)\), \((1, 3, 4)\). Заметим, что эта задача имеет 6 секунд на тест (а для Питона и Java - 12)

 

262144#89969
Бесси любит скачивать игры для своего мобильного телефона, хотя ей и кажется, что маленький сенсорный экран довольно неудобен в использовании из-за её больших копыт.

Её особенно заинтересовала игра, в которую она сейчас играет. Игра начинается с последовательности из N положительных целых чисел (2 ≤ ≤ 262144), каждое из которых находится в диапазоне от 1 до 40. За один ход Бесси может взять два соседних числа с одинаковыми значениями и заменить их на одно число на единицу больше (например, она может заменить две соседние семёрки на восьмёрку). Цель состоит в том, чтобы максимизировать значение наибольшего числа в последовательности в конце игры. Пожалуйста, помогите Бесси набрать как можно больше очков.

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

Первая строка ввода содержит N, а следующие N строк дают последовательность из N чисел в начале игры.

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

Пожалуйста, выведите наибольшее целое число, которое может сгенерировать Бесси.

Примечание
В приведенном здесь примере Бесси сначала объединяет вторую и третью единицы, чтобы получить последовательность 1 2 2, а затем объединяет двойки в тройку. Обратите внимание, что объединение первых двух единиц не является оптимальным.
 

Беси любит играть на мобильном.

Игра начинается с последовательности \(N\) положительных целых чисел (\(2 \leq N \leq 248\)), каждое в диапазоне \(0 \ldots 40\). На каждом ходу Беси может взять два числа с равными величинами и заменить их число на 1 больше. (Например, она может заменить две соседние 7 на одну 8). Цель игры - максимизировать наибольшее число, которое она может получить. Помогите Беси.

ФОРМАТ ВВОДА (файл 248.in):

Первая строка ввода содержит \(N\), и последующие \(N\) строк дают последовательность чисел, с которых начинается игра.

ФОРМАТ ВЫВОДА (файл 248.out):

Выведите максимальное число, которое может сгенерировать Беси.

Фермер Джон и его коровы планируют уехать на длинные каникулы, и поэтому ФД хочет временно закрыть ферму.

Ферма состоит из \(N\) амбаров, соединённых \(M\) двунаправленными дорожками между некоторыми парами амбаров (\(1 \leq N, M \leq 200,000\)). ФД закрывает один амбар за раз. После того как амбар закрыт, все дорожки, прилегающие к нему тоже становятся закрытыми и не могут больше использоваться.

ФД хочет знать в каждый момент времени (изначально и после каждого закрытия), является ли его ферма "полностью связной" - то есть возможно ли добраться от одного открытого амбара до любого другого открытого амбара с помощью серии дорожек. Поскольку на ферме идёт ремонт, она может быть не связной даже изначально.

ФОРМАТ ВВОДА (файл closing.in):

Первая строка ввода содержит числа \(N\) и \(M\). Каждая из следующих \(M\) строк описывает дорожку , задавая пару амбаров, которые она соединяет (амбары пронумерованы последовательно \(1 \ldots N\)). Последние \(N\) строк задают перестановку \(1 \ldots N\) описывающую порядок, в котором будут закрываться амбары.

ФОРМАТ ВЫВОДА (файл closing.out):

Вывод содержит \(N\) строк, каждая есть "YES" или "NO". Первая строка отвечает на попрос была ли ферма полностью связанной изначально, а далее строка \(i+1\) указывает, осталась ли ферма полностью связной после \(i\)-го закрывания.

Поделиться
Класснуть