В далекой стране есть N городов. Был избран новый премьер-министр. В настоящее время в этой стране нет ни одной дороги, поэтому премьер-министр решил модернизировать страну, соединив некоторые города с двусторонними автострадами в транспортные сети. Два города будут расположены в одной и той же сети, если можно добраться до одного города от другого, используя недавно построенные дороги. Каждый город будет расположен в какой-то сети. Каждая сеть состоит из одного или нескольких городов.
Города представлены в виде точек в двумерной системе координат. Дорога между двумя городами представлена в виде отрезка, соединяющего две точки, в которых расположены города. Длина дороги равна длине отрезка в километрах.
В настоящее время страна переживает экономический спад, поэтому премьер-министр решил, что из-за отсутствия бюджета они не будут строить дороги длиннее, чем D километров. Кроме того, премьер-министр радуется мелочам, поэтому он будет счастлив, если по крайней мере в одной сети будет существовать непустое подмножество городов (оно может включать все города в сети), где общая сумма жителей делится на К . Например, если K = 4 и есть сеть с городами, в которых есть 3 , 5 , 7 жителей соответственно, премьер-министр будет счастлив, потому что сумма жителей в первых двух городах равна 8 .
Помогите премьер-министру сократить расходы, определив минимальный уровень D , необходимый для того чтобы премьер-министр мог строить дороги и одновременно быть счастливым.
Первая строка ввода содержит целые числа N и K (1 ≤ N ≤ 50000, 1 ≤ K ≤ 30) . Каждая из следующих N строк содержит три целых числа x i ; y i ; k i (0 ≤ x i , y i , k i ≤ 100000000) , которые представляют координату x города, координату y и количество жителей в этом городе, соответственно. На входных данных не будет двух городов с одинаковыми координатами. Кроме того, не будет ни одного города, в котором число жителей делится на К .
Первая и единственная строка вывода должна содержать минимальную D с точностью до 3 -х знаков после запятой, такую, что можно строить дороги с условием, что премьер-министр будет счастлив. Входные данные будут такими, чтобы всегда было решение.
Объяснение первого примера: единственный способ удержать премьер-министра в счастливом настроение - все города должны находятся в одном округе. Минимальный D , для которого это возможно, равен 1.414 .
Объяснение второго примера: премьер-министр будет рад, если первые 5 городов находятся в одном округе. Если D = 5.657 , премьер-министр может соединить города 1, 2, 3, 5 с городом 4 . В этом случае сумма жителей в городах 1, 2, 3, 4, 5 составит 11 , что делится на 11 , Поэтому премьер-министр будет счастлив.
3 3 0 4 4 1 5 1 2 6 1
1.414
6 11 0 0 1 0 1 2 1 0 3 1 1 4 5 5 1 20 20 10
5.657
6 5 20 20 9 0 0 3 0 1 1 10 0 1 10 1 6 12 0 3
2.000
Марко обнаружил новую функцию на его телефоне - Т9. На его телефоне имеется стандартная клавиатура на 9 кнопок:
Для того чтобы вводить текст на этой клавиатуре необходимо несколько раз нажимать клавишу с соответствующей буквой. Точнее, если это первая буква на клавише, нужно нажать 1 раз, если вторая буква - 2 раза, и так далее. Например, если мы хотим ввести слово "giht", то необходимо нажать клавиши следующим образом: g-4 i-444 h-44 t-8. Новая возможность, которую открыл Марко, упрощает ввод текста, потому что больше не требуется нажимать по одной клавише несколько раз подряд - достаточно всего одного нажатия. Программа будет пытаться понять, какое слово из словаря вы пытаетесь ввести.
Марко довольно скептически относится к новым технологиями (как минимум к новым для него) и он боится, что ошибки будут довольно часто. Марко наизусть знает весь словарь мобильного телефона. Он состоит из N слов, состоящих из строчных латинских букв, длина каждого слова не превышает 1000000 символов. Марко даст массив нажатий на клавиши S длиной не более 1000, и хочет узнать как много слов из словаря он может получить при такой последовательности нажатий если используется функция Т9.
Первая строка содержит единственное целое число N ( 1 ≤ N ≤ 1000 ) - количество слов в словаре. Каждая из следующих N строк содержит одно слово из словаря S i ( 1 ≤ | S i | ≤ 1000000 ). Последняя строка содержит строку S ( 1 ≤ | S | ≤ 1000 ), состоящую из цифр от 2 до 9.
Выведите единственное целое число - количество слов из словаря, которые можно получить при данной последовательности нажатий.
3 tomo mono dak 6666
1
2 ja la 52
2
3 dom fon tom 366
2
Учитель отправил своим ученикам письмо со следующим заданием: "Напишите программу, которая определит значение X по следующему выражению: X = number 1 pot 1 + number 2 pot 2 + ... + number n pot n если известно, что number 1 , number 2 , ... , number n - натуральные числа, а pot 1 , pot 2 , ... , pot n - однозначные натуральные числа."
К сожалению, из-за того что учитель был очень глупый, при записи формулы на компьютер, форматирование текста было потеряно и формула для значения X превратилось в сумму N чисел: X = P 1 + P 2 + ... + P n . Например, без форматирования изначальная формула X = 21 2 + 123 5 превратилась в формулу X = 212 + 1235 . Помогите глупому учителю написать программу, которая по новой формуле (то есть по данным числам P 1 , P 2 , ... , P n ) восстановит изначальное значение X .
Первая строка содержит одно целое число N ( 1 ≤ N ≤ 10 ), количество чисел в формуле. Каждая из следующих N строк содержит одно целое число P i ( 10 ≤ P i ≤ 9999 ) - соответствующий элемент формулы.
Выведите единственное целое число - изначальное значение X .
2 212 1253
1953566
5 23 17 43 52 22
102
3 213 102 45
10385
Абсолютное зло, называемое выпускным экзаменом, приближается к ученикам старших классов этого года. Одним из заданий должно быть написание эссе на их родном языке. Мирко предчувствует, что правящая партия "Единая Хорватия" выполнит свои предвыборные обещания касательно компьютеризации в государственных учреждениях, поэтому он полагает, что эссе в этом году будут проверяться не человеком, а новейшими японскими супер-компьютерами "Кудахтер-3000". Мирко имеет большие опасения по этому поводу, и хочет написать эссе так, чтобы оно прошло основные критерии проверки. Благодаря тому, что его отец работает в министерстве образования, он их узнать. Эссе пройдет проверку, если:
1. Оно содержит не менее чем A и не более чем B слов.
2. Каждое слово содержит не менее 1 и не более 15 символов.
3. Используемый словарный запас достаточно велик, иными словами, эссе содержит хотя бы
различных слов.
Мирко сейчас очень занят, готовясь к экзаменам, поэтмоу он просит вас помочь ему в написании эссе. Оно должно быть выведено в одну строчку, состоять только из строчных латинских букв и пробелов.
В единственной строке содержатся два целых числа - A и B ( 1 ≤ A ≤ B ≤ 100000 ).
В единственной строке выведите эссе, удовлетворяющее условию задачи при данных A и B .
2 7
b c d e f g h
26 30
b c d e f g h i j ab bb cb db eb fb gb hb ib jb ac bc cc dc ec fc gc hc ic jc ad
19 19
b c d e f g h i j ab bb cb db eb fb gb hb ib jb
Ученые в тайной химической лаборатории в Хорватии изучают химические связи в недавно обнаруженном веществе инопланетного происхождения. Имеющаяся в распоряжении ученых порция вещества состоит из N молекул, соединенных между собой N - 1 ковалентными связями, и все молекулы объединены этими связями (не обязательно напрямую) в единую сеть.
Так как вещество нестабильное, в каждой молекуле регулярно возникают импульсы, перемещающиеся по веществу через существующие связи в обоих направлениях. Ученые собираются стабилизировать вещество, направив ковалентные связи (то есть, дав импульсам возможность путешествовать по ним между молекулами лишь в одном направлении). Показатель нестабильности вещества определяется длиной максимального пути, который может пройти импульс в нем, и ученые хотят сделать эту величину как можно меньше.
Помогите ученым создать вещество с минимальным показателем нестабильности, указав необходимое направление ковалентных связей.
Первая строка содержит одно целое число N ( 2 ≤ N ≤ 100000 ). Каждая из последующих N - 1 строк содержит по два целых числа a i и b i ( 1 ≤ a i , b i ≤ N ), которые показывают что молекулы с номерами a i и b i соединены ковалентной связью.
Выведите N - 1 строку, каждая из которых должна содержать 1 если ковалентная связь должна быть направлена от a i к b i или 0 в противном случае.
Решения, в которых N ≤ 20 , будут оцениваться в 30 баллов.
3 1 2 2 3
0 1
4 2 1 1 3 4 1
1 0 1