Codeforces Round 510 (Div. 2) |
---|
Закончено |
В берляндском магазине есть $$$n$$$ видов сока. Каждый сок характеризуется своей ценой $$$c_i$$$, а также витаминами, которые в нём содержатся. В Берляндии есть всего три типа витаминов: витамин «A», витамин «B» и витамин «C». В каждом соке может быть один, два или все три витамина.
Петя решил, что ему необходимо получить каждый из трёх витаминов. Определите минимальную стоимость соков, которые ему нужно для этого купить, либо сообщите, что это невозможно. Считается, что Петя получит витамин, если он купит хотя бы один сок, в котором этот витамин содержится, и выпьет его.
В первой строке следует целое число $$$n$$$ $$$(1 \le n \le 1\,000)$$$ — количество видов сока.
В каждой из следующих $$$n$$$ строк следует целое число $$$c_i$$$ $$$(1 \le c_i \le 100\,000)$$$ и строка $$$s_i$$$ — цена $$$i$$$-го сока и описание витаминов, которые в нём есть. Строка $$$s_i$$$ имеет длину от $$$1$$$ до $$$3$$$ и состоит из букв «A», «B» и «C». Гарантируется, что каждая буква встречается в каждой строке $$$s_i$$$ не более одного раза. Порядок букв в строках $$$s_i$$$ произвольный.
Если Петя не сможет получить каждый из трёх витаминов, выведите -1. В противном случае выведите минимальную стоимость соков, которые Петя может купить, чтобы получить каждый из трёх витаминов.
4
5 C
6 B
16 BAC
4 A
15
2
10 AB
15 BA
-1
5
10 A
9 BC
11 CA
4 A
5 B
13
6
100 A
355 BCA
150 BC
160 AC
180 B
190 CA
250
2
5 BA
11 CB
16
В первом примере Петя должен купить первый, второй и четвертый сок. Тогда он потратит $$$5 + 6 + 4 = 15$$$ и получит все три витамина. Также он может купить только третий сок и получить все три витамина, но это невыгодно, так как третий сок стоит $$$16$$$.
Во втором примере Петя не сможет получить все три витамина, так как витамина «C» нет ни в одном соке.
Название |
---|