CF103E.Buying Sets

省选/NOI-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

The Hexadecimal virus loves playing with number sets — intersecting them, uniting them. One beautiful day she was surprised to find out that Scuzzy, her spherical pet cat, united all sets in one and ate the result! Something had to be done quickly and Hexadecimal rushed to the market.

The market has n sets of numbers on sale. The virus wants to buy the following collection of sets: the number of sets in the collection should be exactly the same as the number of numbers in the union of all bought sets. Moreover, Hexadecimal wants to buy the cheapest suitable collection of set.

Yet nothing's so easy! As Mainframe is a kingdom of pure rivalry markets, we know that the union of any k sets contains no less than k distinct numbers (for every positive integer k).

Help the virus choose the suitable collection of sets. The collection can be empty.

十六进制病毒酷爱玩弄数集——对它们求交集、求并集。某天,她惊奇地发现:她那只球形宠物猫斯卡齐(Scuzzy)竟把所有集合合并成一个,并把结果吃掉了!必须立刻采取行动,于是十六进制病毒火速赶往市场。

市场上有 nn 个数字集合出售。病毒希望购买满足如下条件的集合集合:所购集合的个数,必须恰好等于所有已购集合之并集中的数字个数。此外,十六进制病毒希望购买总价格最低的、满足条件的集合集合。

然而事情远非如此简单!由于主控机(Mainframe)是一个纯粹的竞争性市场王国,我们已知:任意 kk 个集合的并集至少包含 kk 个互不相同的数字(对每个正整数 kk 均成立)。

请帮助病毒选出满足条件的集合集合。该集合集合可以为空。

输入格式

The first line contains the only number n (1 ≤ n ≤ 300) — the number of sets available in the market.

Next n lines describe the goods: first we are given m__i (1 ≤ m__i ≤ n) — the number of distinct numbers in the i-th set, then follow m__i numbers — the set's elements. We know that the set's elements are distinct positive integers and they do not exceed n.

The last line contains n integers whose absolute values do not exceed 106 — the price of each set.

第一行包含一个整数 nn(1≤n≤3001 \leq n \leq 300)—— 表示市场上可选的集合数量。

接下来的 nn 行描述各商品:每行首先给出 mim_i(1≤mi≤n1 \leq m_i \leq n)—— 表示第 ii 个集合中不同数字的个数,随后是 mim_i 个数字 —— 即该集合的元素。已知每个集合中的元素均为互不相同的正整数,且均不超过 nn。

最后一行包含 nn 个整数,其绝对值均不超过 10610^6 —— 分别表示每个集合的价格。

输出格式

Print a single number — the minimum price the virus will have to pay for such a collection of k sets that union of the collection's sets would have exactly k distinct numbers ().

输出一个整数——病毒为获得这样一组 kk 个集合所需支付的最低价格,使得该集合组的并集恰好包含 kk 个互不相同的数()。

输入输出样例

  • 输入#1

    3
    1 1
    2 2 3
    1 3
    10 20 -3

    输出#1

    -3
  • 输入#2

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

    输出#2

    0
  • 输入#3

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

    输出#3

    -1

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

首页