В местном книжном магазине акция: "Возьми 3, заплати за 2 самых дорогих". То есть, каждый покупатель, который возьмет 3 книги, получит самую дешевую из них бесплатно. Разумеется, он может взять и больше книг, и, некоторым образом разделив их на группы по 3, получать самую дешевую в каждой группе бесплатно. Например, пусть цены книг, выбранных покупателем, будут следующие: 10 3 2 4 6 4 9. Он может разделить их на группы таким образом: (10, 3, 2), (4, 6, 4), (9). Тогда он получит книгу стоимостью 2 из первой группы и книгу стоимостью 4 из второй группы бесплатно. При этом из третьей группы он ничего не получит бесплатно, так как в ней всего 1 книга. Девушка, работающая в магазине, очень добрая и всегда хочет помочь покупателю заплатить как можно меньше денег за выбранные книги. Помогите ей для выбранных покупателем книг распределить их по группам так, чтобы сумма денег, в результате заплаченная покупателем, была минимальна.
В первой строке записано одно натуральное число N ( 1 ≤ N ≤ 100000 ) - количество книг, выбранных покупателем. В каждой из следующих N строк записано одно натуральное число C i ( 1 ≤ C i ≤ 100000 ) - цена соответствующей книги.
В единственной строке выведите одно целое число - минимальную цену, которую может заплатить покупатель за выбранные книги.
4 3 2 3 2
8
6 6 4 5 5 5 5
21
Любимый всем кукольник Гепетто открыл новую пиццерию. Он хочет делать самую лучшую пиццу в городе, но не хочет иметь маленький ассортимент пицц.
Гепетто делает свои пиццы из N ингредиентов, пронумерованных от 1 до N . Всё было бы хорошо, но к сожалению он не может класть некоторые ингредиенты в одну пиццу.
Всего есть M пар ингредиентов, которые нельзя класть в одну пиццу. Помогите Гепетто узнать, сколько различных пицц он может cделать.
Первая строка содержит два целых числа N и M ( 1 ≤ N ≤ 20 , 0 ≤ M ≤ 400 ). Следующие M строк содержат по два различных чсла a и b , обозначающие, что класть ингредиенты a и b запрещено класть в одну пиццу ( 1 ≤ a , b ≤ N ).
Выведите одно число – ответ на задачу
В первом примере Гепетто может сделать пиццы из наборов {}, {1}, {2}, {3}, {1, 3}. Во втором примере он может использовать любую комбинацию ингредиентов. В третьем примере он может сделать пиццы из наборов {}, {1}, {2}, {3}.
3 2 1 2 2 3
5
3 0
8
3 3 1 2 1 3 2 3
4
Марко обнаружил новую функцию на его телефоне - Т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
Дано 2 числа N и M , и их надо преобразовать следующим образом: выпишем их друг под другом (если числа имеют разную длину, дополним меньшее из них ведующими нулями) и будем сравнивать их отдельно в каждой цифре. Из того числа, где цифра меньше, эта цифра вычеркивается. Если цифры равны, то ничего не происходит. Если, в итоге, из числа вычеркнули все цифры, то вместо него надо вывести 'YODA' .
Найдите те числа, которые получатся в результате преобразования.
Первая строка содержит число N ( 1 ≤ N ≤ 10 9 ), первое из двух чисел.
Вторая строка содержит число M ( 1 ≤ M ≤ 10 9 ), второе из двух чисел.
В первой строке выходного файла выведите новое значение первого числа.
В второй строке выходного файла выведите новое значение второго числа.
Решения, в которых 100 ≤ N ≤ 999 , будут оцениваться в 30 баллов.
300 500
0 500
65743 9651
673 95
2341 6785
YODA 6785
Юный Мирко - умный, но озорной мальчик, который часто бродит по паркам в поисках новых идей и друзей. В этот раз он встретился с пенсионерами, которые играли в карточную игру Белот. Они пригласили его помочь им подсчитать количество очков, выигранных в одной игре.
Каждая карта определяется мастью и символом. Набор из 4 карт называется рукой. В каждой игре одна из масть "бьет" все остальные и называется козырной. Количество очков в одной игре равно сумме победных очков всех карт из всех выигравших рук в игре. Мирко заметил, что пенсионерами было выиграно N рук, а козырная масть в игре была B .
Выигрышные очки карт (если масть козырная / если масть не козырная):
А : 11 / 11
K : 4 / 4
Q : 3 / 3
J : 20 / 2
T : 10 / 10
9 : 14 / 0
8 : 0 / 0
7 : 0 / 0
По данным выигравшим рукам и козырной масти определите количество очков, выигранных в этой игре.
Первая строка содержит одно целое число N ( 1 ≤ N ≤ 100 ) и один символ B ( S , H , D или C ) - козырная масть в игре.
Каждая из следующих 4 N строк содержит описание карты K i , состоящее из двух символов: первый - символ карты ( A , K , Q , J , T , 9 , 8 , 7 ), второй - масть карты ( S , H , D или C ).
Выведите одно целое число - количество выигранных очков.
2 S TH 9C KS QS JS TD AD JH
60
4 H AH KH QH JH TH 9H 8H 7H AS KS QS JS TS 9S 8S 7S
92