- Описание
- Отправленные решения
10. День рождения Васи
Вася и его друзья очень любят вкусно поесть. На свой день рождения каждый обязан удивить других, приготовив новые вкусные и полезные блюда.
Сегодня у Васи день рождения и он позвал своих друзей отведать своих самых лучших блюд. Название каждого из них состоит из строчных букв английского алфавита, цифр и знака подчёркивания.
Для приготовления блюда с номером требуется ингредиентов. Для каждого ингридиента известно его название, требуемое количество для одной порции блюда, а также единица измерения, в которой это количество задано. Помимо этого, Васе известно, что -й кулинарный шедевр захотят попробовать друзей.
Используются следующие единицы измерения:
g
,kg
— граммы и килограммы, соответственно;l
,ml
— литры и миллилитры, соответственно;cnt
,tens
— одна штука и десять штук, соответственно.
В одном килограмме грамм и в одном литре миллилитров. Делать перевод из одной единицы измерения в другую можно тогда и только тогда, когда они одновременно обозначают или массу, или объём, или количество.
У Васи есть два справочника ингредиентов. В первом для каждого ингредиента указано его количество в упаковке и цена за упаковку. Во втором справочнике для каждого ингредиента указано содержание белков, жиров, углеводов и энергетическая ценность некоторого количества данного ингредиента.
Васе нужно приготовить все блюда, при этом не купить ничего лишнего. Для этого ему нужно определить, какие ингредиенты и в каком количестве необходимо приобрести в магазине.
Так как друзья именинника очень следят за тем, что едят, то они, перед тем как попробовать Васины блюда, захотят узнать всё про них: как Вася готовил блюда, нет ли в продуктах ГМО, энергетическую ценность каждого блюда и содержание белков, жиров и углеводов в нём. Васе нужно также предоставить эту информацию.
Необходимо помочь имениннику подсчитать, сколько требуется потратить денег на покупку продуктов в магазине, какие ингредиенты и в каком количестве нужно купить, а также для каждого блюда подсчитать содержание белков, жиров, углеводов и энергетическую ценность, если его съесть полностью.
Формат ввода
Первая строка содержит целое число () — количество блюд, которое решил приготовить Вася.
Затем следует описание блюд. В первой строке содержатся строка и целые числа , () — название блюда, количество друзей, желающих отведать данное блюдо, и количество ингредиентов необходимых для приготовления. Название блюда состоит из строчных букв английского алфавита, цифр и знака подчёркивания. Его длина не превосходит символов.
В следующих строках содеражтся описания ингредиентов. В строке с номером содержатся строка — название ингредиента, целое число () — требуемое количество ингредиента и строка — название единицы измерения количества. Название ингредиента состоит из строчных букв английского алфавита, цифр и знака подчёркивания. Длина строки не превосходит символов.
Следующая строка содержит целое число () — количество ингредиентов в каталоге цен.
В каждой из следующих строк, содержатся четыре значения , описывающих ингредиент.
- — название ингредиента, состоящее из строчных букв английского алфавита, цифр и знака подчёркивания. Длина строки не превосходит символов;
- — стоимость ингредиента, заданная целым числом ();
- — количество ингредиента в упаковке в единицах, заданное целым числом ();
- — единица измерения количества (
l
,ml
,g
,kg
,cnt
илиtens
).
Следующая строка содержит число () — количество ингредиентов в каталоге еды.
Далее расположены строк, в каждой из которой содержится семь значений , описывающих ингредиент.
- — название ингредиента, состоящее из строчных букв английского алфавита, цифр и знака подчёркивания. Длина строки не превосходит символов;
- — количество ингредиента, для которого указаны характеристики ингредиента, заданное целым числом ();
- — единица измерения (
l
,ml
,g
,kg
,cnt
илиtens
); - , , , — содержание белков, жиров, углеводов и энергетическая ценность ингредиента, соответственно, заданные вещественными числами с не более чем шестью знаками после запятой ().
Гарантируется, что:
- в каталогах перечислены все ингредиенты, необходимые для приготовления блюд;
- не существует двух блюд с одинаковым названием;
- не существует двух ингредиентов в одном каталоге с одинаковым названием;
- не существует двух ингредиентов в одном блюде с одинаковым названием;
- для любых двух упоминаний ингридиента единицы измерения, в которых заданы его количества, можно перевести друг в друга.
Формат вывода
Первая строка должна содержать одно целое число: количество денег, которое нужно потратить Васе на подготовку к празднику.
Далее должны следовать строк, в каждой из которых через пробел указано название ингредиента и целое число — количество упаковок, которое необходимо купить. Ингредиенты, выведенные в этих строках должны соответствовать ингредиентам, описанным в первом справочнике.
В следующих строках через пробел должны быть указаны название блюда и его характеристики, описанные четырьмя вещественными числами: белки, жиры, углеводы и энергетическая ценность.
Ингредиенты и блюда разрешается выводить в любом порядке.
Ваш ответ будет считаться правильным, если все целые числа совпадают с соответствующими числами в ответе жюри, а для всех вещественных чисел в ответе их абсолютная или относительная погрешность не превосходит . Более формально, пусть вещественное число в вашем ответе равно , а соответствующее число в ответе жюри равно . Тогда число будет считаться корректным, если .
Примечание
В первом примере Васе необходимо приготовить бутербродов и омлетов.
Для приготовления всех первых блюд необходимо грамм масла, кусочков хлеба и грамм колбасы. В каждом из бутерброде будет содержаться грамм белков, грамм жиров и грамм углеводов. Энергетическая ценность составит ккал.
Для приготовления всех вторых блюд необходимо яиц, миллилитров молока, грамм соли, грамм колбасы. В каждом омлете будет содержаться грамм белков, жиров и углеводов. Энергетическая ценность составит ккал.
Всего необходимо грамм масла, яиц, миллилитров молока, грамм соли, грамм колбасы и кусочков тостового хлеба.
Таким образом, в магазине нужно купить одну упаковку масла, десятка яиц, упаковки колбасы и молока, по одной упаковке соли и тостового хлеба, заплатив рубля.
Ограничения
Ограничение времени
3 с
Ограничение памяти
256 МБ
Пример 1
2
sandwich 7 3
butter 10 g
toasted_bread 2 cnt
sausage 30 g
omelet 9 4
egg 4 cnt
milk 120 ml
salt 1 g
sausage 50 g
7
egg 61 1 tens
milk 58 1 l
sausage 100 480 g
butter 120 180 g
cream 100 350 g
salt 14 1000 g
toasted_bread 40 20 cnt
8
egg 1 cnt 13 12 1 16.4
milk 1 l 3 4.5 4.7 60
chocolate 90 g 6.8 36.3 47.1 546
salt 1 kg 0 0 0 0
strawberry 100 g 0.4 0.1 7 35
sausage 100 g 10 18 1.5 210
toasted_bread 5 cnt 7.3 1.6 52.3 248
butter 100 g 0.8 72.5 1.3 661
734
egg 4
milk 2
sausage 2
butter 1
cream 0
salt 1
toasted_bread 1
sandwich 6.00 13.29 21.50 228.3
omelet 57.360 57.540 5.314 177.800