AT_utpc2012_10.きたまさの逆襲

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 nn 个宝箱,以及可以打开宝箱的 mm 把钥匙。第 ii 把钥匙可以打开 kik_i 个宝箱,分别为 ai,1,ai,2,…,ai,kia_{i, 1}, a_{i, 2}, \dots, a_{i, k_i},保证对 j≠kj\neq k 有 ai,j≠ai,ka_{i, j}\neq a_{i, k}。一把钥匙在打开一个宝箱后就会消失,之后无法再使用。有 dd 家商店,第 ii 把钥匙可以在商店 sis_i 买到;购买第 ii 把钥匙最开始需要 cic_i 元。

小 A 想打开所有的宝箱,所以他需要买钥匙,但他不能买多把相同的钥匙。小 B 想通过涨价的方式阻挠小 A。小 B 可以指定商店 jj,并将 jj 商店出售的所有钥匙的价格同时提升相同的金额;将 jj 商店出售的钥匙提升 11 元会花费小 B bib_i 元。小 B 所提升的值必须是整数;举例来说,若 bj=2b_j = 2,小 B 不能花费 11 元将 jj 商店出售的钥匙的价格提升 0.50.5 元。

请找到 ((小 A 的最大花费 −- 小 B 的最大花费)) 的最大值。若此值可以是无限大,则输出 -1。

保证在小 B 不阻挠的情况下小 A 可以打开所有宝箱。

1≤n≤100, 1≤m≤1000, n,d≤m, 1≤bi,ci≤1000, 1≤si≤d, 1≤ki≤min⁡(10,n), 1≤ai,j≤n1\le n\le 100,\ 1\le m\le 1000, \ n, d\le m, \ 1\le b_i, 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。

输入格式

第一行三个整数,分别表示 n,m,dn, m, d。

接下来 mm 行,第 ii 行表示第 ii 把钥匙的信息。
这 mm 行中的第 ii 行有 ki+3k_i + 3 个整数。前三个整数分别表示 ci,si,kic_i, s_i, k_i,随后 kik_i 个整数,第 jj 个整数表示 ai,ja_{i, j}。

接下来 dd 行,每行一个整数,第 ii 行的值表示 bib_i。

输出格式

一行一个整数,表示所求的最大值。若此值可以是无限大,则输出 -1。

输入解题思路,AI测评打分。不知道怎么写?

首页