---> 25 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 1 2 3 4 5 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Приехав в Хоббитанию, белый маг Гэндальф принялся рассказывать Бильбо последние новости из Средиземья. Больше всего впечатлительного хоббита поразил рассказ о Большом огромном коллайдере - только представить себе гигантских размеров кольцо, зарытое под землей!

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

Бильбо хочет прокопать новые коридоры в норе, но так как копать будут только Фродо и сам Бильбо (не Гэндальф же!) , есть возможность прокопать только один или два новых коридора.

После этого последовательность из нескольких комнат будет названа коллайдером. При этом должны быть выполнены следующие условия: первая комната в этой последовательности соединена коридором со второй, вторая - с третьей, и так далее, наконец, последняя комната последовательности должна быть соединена с первой. Кроме того, каждая комната может входить в эту последовательность не более одного раза.

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

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

В первой строке входного файла содержится целое число \(n\) (\(3 \le n \le 100\,000\)) - число комнат в норе Бильбо.

В следующих \(n - 1\) строках содержатся по два целых числа - номера комнат, соединенных коридорами. Комнаты нумеруются от \(1\) до \(n\).

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

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

На следующих одной или двух строках выведите пары номеров комнат, между которыми следует прокопать новые коридоры.

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

Примечание

В первом примере коллайдер состоит из комнат с номерами 1, 2, 3 и 4 (именно в этом порядке), во втором примере - 1, 3, 2, 4.

Примеры
Входные данные
4
1 2
2 3
3 4
Выходные данные
4
4 1
Входные данные
4
1 2
1 3
1 4
Выходные данные
4
2 3
2 4
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
32 megabytes

В тридесятом государстве есть N деревень. Некоторые пары деревень соединены дорогами. В целях экономии, «лишних» дорог нет, т.е. из любой деревни в любую можно добраться по дорогам единственным образом.

Новейшие исследования показали, что тридесятое государство находится в сейсмически опасной зоне. Поэтому глава государства захотел узнать, какой именно ущерб может принести его державе землетрясение. А именно, он хочет узнать, какое минимальное число дорог должно быть разрушено, чтобы образовалась изолированная от остальных группа ровно изP деревень такая, что из любой деревни из этой группы до любой другой деревни из этой группы по-прежнему можно будет добраться по неразрушенным дорогам (группа изолирована от остальных, если никакая неразрушенная дорога не соединяет деревню из этой группы с деревней не из этой группы).

Вы должны написать программу, помогающую ему в этом.

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

Первая строка входного файла содержит два числа: N и P (1≤PN≤150). Все остальные строки содержат описания дорог, по одному на строке: описание дороги состоит из двух номеров деревень (от 1 до N), которые эта дорога соединяет. Все числа во входном файле разделены пробелами и/или переводами строки.

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

В выходной файл выведите единственное число – искомое количество дорог.

Примеры
Входные данные
11 6
1 2
1 3
1 4
1 5
2 6
2 7
2 8
4 9
4 10
4 11
Выходные данные
2

На одном из телеканалов каждую неделю проводится следующая лотерея. В течение недели участники делают свои ставки. Каждая ставка заключается в назывании какого-либо \(M\)-значного числа в системе счисления с основанием \(K\) (то есть, по сути, каждый участник называет \(M\) цифр, каждая из которых лежит в диапазоне от 0 до \(K-1\)). Ведущие нули в числах допускаются.

В некоторый момент прием ставок на текущий розыгрыш завершается, и после этого ведущий в телеэфире называет выигравшее число (это также \(M\)-значное число в \(K\)-ичной системе счисления). После этого те телезрители, у кого первая цифра их числа совпала с первой цифрой числа, названного ведущим, получают выигрыш в размере \(A_1\) рублей. Те, у кого совпали первые две цифры числа — получают \(A_2\) рублей (при этом если у игрока совпала вторая цифра, но не совпала первая, он не получает ничего). Аналогично угадавшие первые три цифры получают \(A_3\) рублей. И так далее. Угадавшие все число полностью получают \(A_m\) рублей. При этом если игрок угадал \(t\) первых цифр, то он получает \(A_t\) рублей, но не получает призы за угадывание \(t-1\), \(t-2\) и т.д. цифр. Если игрок не угадал первую цифру, он не получает ничего.

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

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

В первой строке задаются числа \(N\) (количество телезрителей, сделавших свои ставки, \(1\le N\le 100000\)), \(M\) (длина чисел \(1\le M\le 10\)) \(K\) (основание системы счисления \(2\le K\le 10\)). В следующей строке записаны \(M\) чисел \(A_1\), \(A_2\), ..., \(A_M\), задающих выигрыши в случае совпадения только первой, первых двух,... , всех цифр (\(1\le A_1\le A_2\le ... \le A_M\le 100000\)). В каждой из следующих \(N\) строк записано по одному \(M\)-значному \(K\)-ичному числу. Числа идут в порядке неубывания.

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

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

Примеры
Входные данные
10 3 2
1 3 100
000
000
001
010
100
100
100
100
110
111
Выходные данные
011
6
Входные данные
1 1 10
100
0
Выходные данные
1
0
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Ромин папа работает в стремительно развивающейся корпорации «РосКошки». Сегодня папа решил показать своему сыну свою компанию, ведь он планирует, что со временем все его дети и внуки будут работать в «РосКошках». Рома — мальчик любознательный, поэтому он довольно быстро узнал всё о структуре корпорации.

Всего в «РосКошках» работает N сотрудников, у каждого из которых (кроме президента) есть один непосредственный начальник. Чтобы сотрудники не отвлекались по мелочам, президент запретил им во время работы общаться с кем-либо, кроме своих непосредственных подчинённых и начальника. Поэтому все сообщения сотрудникам приходится передавать через других сотрудников. Пока Рома без дела бродил по коридорам фирмы, он не только узнал для каждого сотрудника, сколько ему требуется минут, чтобы передать сообщение одному из своих подчинённых или начальнику, но и обнаружил, что в этой фирме работает сисадмин, который имеет особый статус: у него нет ни начальников, ни подчинённых, и он может передавать сообщения любому сотруднику фирмы, причём мгновенно. Но при этом, если у сотрудника есть хотя бы один подчинённый, он никогда не подойдёт к сисадмину с просьбой передать сообщение кому-либо. Рома осознал, что только что ему открылся новый способ передачи информации внутри корпорации, поэтому разузнал для каждого сотрудника, не имеющего подчинённых, сколько ему требуется времени, чтобы дойти до сисадмина.

Ромин папа хорошо осознаёт масштабы любопытства своего сына, поэтому, когда ему в очередной раз потребовалось передать своему другу срочное сообщение, он обратился к своему сыну. Помогите Роме минимизировать время, необходимое для передачи папиного сообщения его другу.

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

В первой строке входного файла содержится единственное целое число \(N\) — количество сотрудников компании без учёта сисадмина (\(2 \le N \le 10^5\)). В следующих \(N\) строках содержится по 3 целых числа \(p_i\), \(b_i\) и \(s_i\) — номер начальника \(i\)-го сотрудника (для президента \(p_i=0\)) и время, необходимое для передачи сообщения от \(i\)-го сотрудника его начальнику и любому подчинённому соответственно. Если у \(i\)-го сотрудника нет подчинённых, то \(s_i\) — время, необходимое \(i\)-му сотруднику, чтобы добраться до сисадмина (\(1 \le p_i \le N\), \(p_i \ne i\), \(1 \le b_i\) , \(s_i \le 10^4\)).

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

Выведите единственное число — минимальное время, необходимое для доставки сообщения от Роминого папы (имеющего номер 1) до его друга (имеющего номер \(N\)).

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Каждый раз, когда в мире происходит значимое событие, наша реальность разветвляется на несколько — в зависимости от исхода этого события. После этого существует уже не только наша основная реальность, но и ответвившиеся от неё в моменты появления разных исходов.

Однажды один архимаг решил сделать мир лучше. Такая грандиозная задача не под силу одному архимагу, поэтому он решил найти самого себя ещё в K реальностях и выполнить эту задачу вместе. Проведённое теоретическое исследование показало, что, кроме реальности, в которой находится именно он, существует ещё N - 1 реальностей. Для удобства они были занумерованы числами от 1 до N, при этом его собственная реальность имеет номер 1, а посетить ему необходимо реальности с номерами 2, 3, ..., K + 1.

Как уже говорилось, каждая реальность когда-то ответвилась от некоторой другой, за исключением одной Начальной реальности, которая существовала всегда (её номер может оказаться каким угодно; считается, что она появилась в момент времени 0). Исследование показало, что реальность с номером i ответвилась от реальности с номером Pi в момент времени Ti. Из каждой реальности с номером i архимаг может переместиться

  • в любую ответвившуюся от неё, то есть в любую j, такую что Pj = i;
  • в Pi, если i — не Начальная реальность.
Другими словами, возможны лишь переходы вида i <-> Pi. На каждый такой переход в любую сторону архимаг затрачивает Ti - TPi > 0 условных единиц энергии.

Требуется найти минимальное количество энергии, которое потребуется архимагу, чтобы, начав в реальности с номером 1, посетить все реальности с номерами от 2 до K + 1 (в любом порядке) и затем вновь вернуться в 1. Любую реальность при этом разрешается посещать сколько угодно раз.

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

Сначала вводятся два целых числа N и K (0 ≤ K < N ≤ 100 000): количество доступных реальностей и количество реальностей, которые необходимо посетить. Далее идёт N пар целых чисел, i-я пара — это Pi и Ti (1 ≤ Pi ≤ N, 0 ≤ Ti ≤ 106; для Начальной реальности Pi = Ti = 0).

Гарантируется, что ответвившаяся реальность появилась строго позже породившей (Ti > TPi), и что маг может при желании добраться до любой из N реальностей.

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

 

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

Примеры
Входные данные
5 2
4 2
4 6
1 9
0 0
1 7
Выходные данные
30

Страница: << 1 2 3 4 5 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест