U716075 BY 的抓颓计划 (BY's Slacker Purge Plan)
题目背景
继 PJY 在[一场极其危险的博弈](https://www.luogu.com.cn/problem/U716013)中落网后,严厉的 BY 老师把 PJY 给制裁了,并顺藤摸瓜,挖掘出了隐藏在班级底层的庞大“颓废联盟”网络!
为了彻底肃清班风,将这股不正之风连根拔起,BY 决定联合同为老师的 SD,开展一场名为“双线抓颓”的清剿行动。
而这场行动的起点,正是罪恶的源头——PJY 的座位!
题目描述
班级里共有 $N$ 名同学(编号 $1 \sim N$),每个人都有一个“颓废值” $W_i$。PJY 的编号为 $S$。
颓废联盟内部有一套隐秘的传阅网络,由 $M$ 条单向传播途径构成。一条从 $u$ 到 $v$ 的有向边,意味着如果查到了同学 $u$,BY 就可以顺着线索立刻查到同学 $v$。
这群学生非常狡猾,他们的传播网络中可能存在**环(互相包庇)**。也就是说,如果 BY 发现了一群互相传阅形成环的学生,只要顺藤摸瓜抓到其中一个,就可以**把这个环里(以及环能相互到达)的所有学生一网打尽**。
现在,BY 和 SD 两位老师将**同时**从 PJY 的座位(节点 $S$)出发,顺着传播网络(有向边)进行抓捕。
- 他们可以分开行动,走两条不同的路径,以覆盖更多的学生。
- 只要某名同学被 BY **或者** SD 抓到(或者因为同伙被抓而被一网打尽),老师们就能缴获他的颓废值 $W_i$。
- **注意:如果一名同学被两位老师都抓到了,他的颓废值只能计算一次(即不重复计算)**。
请你帮 BY 老师计算出,在最优的双线抓捕路线下,他们最多能缴获多少总颓废值?
输入格式
第一行包含三个整数 $N, M, S$,分别表示同学总数、单向传播途径的数量,以及起点 PJY 的编号。
第二行包含 $N$ 个整数 $W_1, W_2, \dots, W_N$,表示每名同学的颓废值。
接下来 $M$ 行,每行包含两个整数 $u, v$,表示存在一条从 $u$ 到 $v$ 的单向传播途径。
输出格式
输出一个整数,表示两位老师最多能缴获的总颓废值。
说明/提示
起点 $S = 1$。
节点 $1, 2, 3$ 构成了一个强连通分量(环)。只要到达其中任意一个,就能把 $1, 2, 3$ 全部抓住,缴获 $10 + 20 + 30 = 60$。
此时相当于两位老师都站在了这个巨大的“颓废窝点”上。
随后,BY 老师可以选择路线 $1 \to 4 \to 5$,抓获节点 4 和 5,额外缴获 $40 + 50 = 90$。
MS 老师可以选择路线 $1 \to 6 \to 5$,抓获节点 6 和 5,额外缴获 $60 + 50 = 110$。
节点 5 被两人同时抓到,只能计算一次(50)。
最终两人联合抓捕的节点集合为 $\{1, 2, 3, 4, 5, 6\}$,总颓废值为 $10+20+30+40+50+60 = 210$。
### 数据规模与约定
| Subtask | 分数 | $N \le$ | $M \le$ | 特殊性质 |
| :---: | :---: | :---: | :---: | :---: |
| **0** | $10$ | $15$ | $30$ | 无 |
| **1** | $30$ | $2000$ | $10000$ | 保证给定的图是一个 DAG(无环) |
| **2** | $60$ | $2000$ | $10000$ | 无 |