#865. ☁️ B2《云朵搭配购》🛒

☁️ B2《云朵搭配购》🛒

☁️ B2《云朵搭配购》🛒

兔猫信奥学院 的山顶小店里,小兔看到一排漂亮的云朵商品。 一共有 nn 朵云,编号 1..n1..n。第 ii 朵云:

  • 价格为 cic_i
  • 价值为 did_i

但老板提醒说:有些云朵必须搭配购买——只要买了其中一朵,就必须把与它“绑定”的云朵也一起买下(互相绑定)。

小兔(Joe)带的钱只有 ww,他想在预算内买到总价值最大的一组云朵。

请你帮助他计算:最多能获得多少总价值。


📌 搭配规则(非常重要)

给出 mm 条搭配信息,每条为一对 (ui,vi)(u_i, v_i),表示:

  • 如果买 uiu_i,就必须买 viv_i
  • 如果买 viv_i,也必须买 uiu_i

因此,所有通过搭配关系连在一起的云朵会形成一个“搭配组”,要么整组全买,要么整组都不买


🖼️ 样例搭配组示意(由样例数据绘制)

样例中的搭配关系为:

  • 131 \leftrightarrow 3
  • 323 \leftrightarrow 2
  • 424 \leftrightarrow 2

所以这些云朵会连成一个组:

(1) —— (3) —— (2) —— (4)

搭配组 A = {1,2,3,4}
搭配组 B = {5}

购买时只能选择:

  • 不买 A / 买整组 A
  • 不买 B / 买整组 B

输入格式

第一行三个整数 n,m,wn, m, w

  • nn:云朵数量
  • mm:搭配关系条数
  • ww:小兔的总预算

接下来 nn 行,第 ii 行两个整数 ci,dic_i, d_i,表示第 ii 朵云的价格与价值。

再接下来 mm 行,每行两个整数 ui,viu_i, v_i,表示 uiu_iviv_i 必须搭配购买(互相依赖)。


输出格式

输出一行一个整数:在总花费不超过 ww 的前提下,能获得的最大总价值。


5 3 10
3 10
3 10
3 10
5 100
10 1
1 3
3 2
4 2
1

数据范围

  • 3030%n100n \le 100
  • 5050%n1000, m100, w1000n \le 1000,\ m \le 100,\ w \le 1000
  • 100100%n10000, 0m5000, w10000n \le 10000,\ 0 \le m \le 5000,\ w \le 10000