A. 通知村民

    传统题 文件IO:spread 1000ms 256MiB

通知村民

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

三三村有 nn 名村民,33DAI 是村长。他拿到了一条重要通知,需要让全村 nn 名村民都知道。

33DAI 可以亲自通知村民,每通知一人花费 pp。

已经知道这条通知的村民也能帮忙转告:对第 ii 名村民,只要他知道了通知(无论是 33DAI 亲自通知的,还是别人转告的),他就可以转告至多 aia_i 名其他村民,每转告一人花费 bib_i。

33DAI 想知道:让全部 nn 名村民都知道这条通知,最少要花多少钱?

输入格式

从文件 spread.in 读入数据。

输入的第一行是一个整数 tt,表示测试用例组数。

接下来依次给出 tt 组测试用例,每组测试用例的格式为:

  • 第一行两个整数 n,pn, p,分别表示村民人数与 33DAI 亲自通知一人的花费;
  • 第二行 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n;
  • 第三行 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n。

输出格式

输出到文件 spread.out。

对每组测试用例输出一行一个整数,表示让全部 nn 名村民都知道这条通知所需的最小花费。

3
6 3
2 3 2 1 1 3
4 3 2 6 3 6
1 100000
100000
1
4 94
1 4 2 3
103 96 86 57
16
100000
265

样例 1 解释

第 1 组:33DAI 亲自通知第 3,5,63, 5, 6 名村民,花费 p+p+p=3+3+3=9p + p + p = 3 + 3 + 3 = 9;第 33 名村民转告第 1,21, 2 名村民,花费 b3+b3=2+2=4b_3 + b_3 = 2 + 2 = 4;第 22 名村民再转告第 44 名村民,花费 b2=3b_2 = 3。总花费 9+4+3=169 + 4 + 3 = 16,此时 66 名村民都知道了通知。

第 2 组只有 11 名村民,因此只能由 33DAI 亲自通知,花费 p=100000p = 100000,输出 100000。

第 3 组:33DAI 亲自通知第 44 名村民,花费 p=94p = 94;第 44 名村民转告第 1,2,31, 2, 3 名村民,花费 b4+b4+b4=57+57+57=171b_4 + b_4 + b_4 = 57 + 57 + 57 = 171。总花费 94+171=26594 + 171 = 265,此时 44 名村民都知道了通知。

样例 2

见 spread2.in 与 spread2.ans。

样例 3

见 spread3.in 与 spread3.ans。

数据范围

对于所有测试数据,保证:

  • 1≤t≤1041 \le t \le 10^4;
  • 1≤n≤1051 \le n \le 10^5,1≤p≤1051 \le p \le 10^5;
  • 1≤ai≤1051 \le a_i \le 10^5,1≤bi≤1051 \le b_i \le 10^5;
  • 所有测试用例的 nn 之和不超过 10510^5。

子任务

本题共 20 个测试点,按测试点计分:

测试点 分值 每个测试点 特殊限制
1∼61 \sim 6 3030 55 n≤1000n \le 1000
7∼127 \sim 12 bi≤pb_i \le p
13∼2013 \sim 20 4040 无额外限制

每个测试点单独评分,全部测试点的得分之和即为本题得分。

【评测】三三信奥国庆模拟赛 CSP-J 第三场

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-10-3 8:30
结束于
2026-10-6 8:30
持续时间
3.5 小时
主持人
参赛人数
19