[语言月赛 202312] 打表过样例

Luogu
IDLGB3912
Time1000ms
Memory512MB
DifficultyP2
模拟2023Special JudgeO2优化排序数组语言月赛
很不幸,你遇到了不负责任的出题人。 在某道试题里,共有 $N$ 个测试点,组成了 $k$ 个 Subtask,第 $i$ 个 Subtask 包含 $p_i$ 个测试点,第 $j$ 个测试点的编号为 $w_{i,j}$。请注意,一个测试点可能属于多个 Subtask。 > **Subtask** > > 每个 Subtask 包含多个测试点和一个分值,当且仅当通过全部这些测试点时,才能获得这个 Subtask 的分值。一道题目的得分为通过的所有 Subtask 分值之和。 这是一道输出仅有一个数的题目,编号为 $i$ 的测试点,标准答案为 $A_i$。 很不幸,由于命题人不负责任,$A_i$ 中出现了大量重复,让打表选手有了可乘之机。 现在,你通过某种手段获得了全部的数据,请问输出哪个数,可以得到最高的分数?最高的分数是多少? 如果有多个数均可得到最高的分数,你只需要任意给出一个。 ## Input 输入共 $k+3$ 行。 输入的第一行为一个正整数 $k$。 接下来 $k$ 行: - 第 $i$ 行的第一个数为 $p_i$,代表第 $i$ 个 Subtask 包含的测试点数目。 - 接下来 $p_i$ 个数,第 $j$ 个代表测试点编号 $w_{i,j}$。 - 最后一个数为 $S_i$,代表这个 Subtask 的分值。 输入的第 $k+2$ 行为一个正整数 $N$。 输入的第 $k+3$ 行为 $N$ 个非负整数,第 $i$ 个代表 $A_i$。 ## Output 输出两行,每行一个整数。 第一行表示获得的最大分值。 第二行表示输出的数。 **如果有多个数可以取到相同的最大分值,任意输出一个即可。** [samples] ## Background 众所周知,一名负责任的出题人,不应当让如下的打表程序获得过多的分数。 ```cpp #include<iostream> int main() { std::cout << "Specific Value\n"; } ``` > 这个程序的功能是,输出一个特定的内容,以尝试通过一些测试点而获得分数。 > > 经典的例子是:<https://www.luogu.com.cn/problem/P8819>,输出无解可以获得 45 分的成绩。 ## Note ### 数据规模与约定 - 对于 $30\%$ 的测试数据,$1 \le N \le 100$,$1 \le k,p_i \le 10$,$1 \le A_i \le 100$。 - 对于 $100\%$ 的测试数据,$1 \le N \le 10^5$,$1 \le k,p_i \le 5000$,$1 \le w_{i,j} \le N$,$1 \le S_i \le 10^9$,$1 \leq A _ i \leq 10 ^ 9$。
Samples
Input #1
2
3 1 2 3 5
3 4 5 6 7
6
4 4 4 5 5 5
Output #1
7
5
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛 202312] 打表过样例",
    "description": {
      "content": "很不幸,你遇到了不负责任的出题人。 在某道试题里,共有 $N$ 个测试点,组成了 $k$ 个 Subtask,第 $i$ 个 Subtask 包含 $p_i$ 个测试点,第 $j$ 个测试点的编号为 $w_{i,j}$。请注意,一个测试点可能属于多个 Subtask。 > **Subtask** > > 每个 Subtask 包含多个测试点和一个分值,当且仅当通过全部这些测试点时,才能获得这个",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3912"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "很不幸,你遇到了不负责任的出题人。\n\n在某道试题里,共有 $N$ 个测试点,组成了 $k$ 个 Subtask,第 $i$ 个 Subtask 包含 $p_i$ 个测试点,第 $j$ 个测试点的编号为 $w_{i,j}$。请注意,一个测试点可能属于多个 Subtask。\n\n> **Subtask**\n>\n> 每个 Subtask 包含多个测试点和一个分值,当且仅当通过全部这些测试点时,才能获得这个...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments