QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 256 MB Points totaux : 100

#672. Контратака Китамасы

Statistiques

Есть $n$ коробок (пронумерованных от $1$ до $n$), $m$ ключей (пронумерованных от $1$ до $m$) и $d$ магазинов (пронумерованных от $1$ до $d$). Ключ $i$ можно использовать для открытия одной из коробок $a_{i,1}, \dots, a_{i,k_i}$. Однако, как только ключ используется для открытия коробки, он исчезает. Таким образом, один ключ нельзя использовать для открытия нескольких коробок. Ключ $i$ продается в магазине $s_i$, а его цена составляет $c_i$ долларов. Акиба хочет купить некоторые ключи и открыть все коробки. (Он не может купить один и тот же ключ несколько раз.)

Китамаса хочет помешать Акибе сделать это. Для этого он может изменить цены на некоторые ключи до того, как Акиба решит, какие ключи купить. Если он заплатит $b_j$ долларов, он может увеличить цену всех ключей, продаваемых в магазине $j$, на один доллар. Для каждого магазина он может повторить это любое неотрицательное целое число раз: например, если он заплатит $2b_j$ долларов, он может увеличить цену всех ключей, продаваемых в магазине $j$, на два доллара. Однако, например, при $b_j = 2$ он не может заплатить $1$ доллар и изменить цены на $0.5$ доллара.

Цель Акибы — минимизировать значение (платеж Акибы) − (платеж Китамасы), а цель Китамасы — максимизировать его. Вычислите это значение, когда оба игрока играют оптимально. Если ответ может быть бесконечно большим, выведите $-1$. Гарантируется, что если Китамаса ничего не делает, Акиба может открыть все коробки.

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

Первая строка входных данных содержит три целых числа $n$, $m$ и $d$ ($1 \le m \le 1000$, $n \le 100$, $1 \le n, d \le m$).

Затем следуют $m$ строк, каждая из которых описывает один ключ. Каждая строка начинается с трех целых чисел: $c_i$ — цена ключа, $s_i$ — номер магазина, где продается ключ, и $k_i$ — количество коробок, которые может открыть этот ключ. Затем следуют $k_i$ целых чисел: номера этих коробок ($1 \le c_i \le 1000$, $1 \le s_i \le d$, $1 \le k_i \le \min(10, n)$, $1 \le a_{i,j} \le n$, и если $j \neq k$, $a_{i,j} \neq a_{i,k}$).

Затем следуют $d$ строк, каждая из которых содержит одно целое число $b_i$ ($1 \le b_i \le 1000$).

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

Выведите одно целое число: ответ на задачу.

Примеры

Примеры 1

3 4 1
2 1 2 1 2
2 1 2 2 3
2 1 2 3 1
3 1 3 1 2 3
5
6

Примеры 2

3 4 1
2 1 2 1 2
2 1 2 2 3
2 1 2 3 1
3 1 3 1 2 3
2
-1

Примеры 3

2 3 2
3 1 2 1 2
4 1 1 2
5 2 2 1 2
1
2
8

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.