P0729

[Usaco2007 Feb]Cow Party

[Usaco2007 Feb]Cow Party

农场中有 NN 个牛棚,每个牛棚里都有一头奶牛。所有奶牛都要前往牛棚 XX 参加派对。

牛棚之间共有 MM 条单向道路。第 ii 条道路从牛棚 AiA_i 通往牛棚 BiB_i,通过这条道路需要花费 TiT_i 的时间。

无论是前往牛棚 XX 参加派对,还是在派对结束后返回原来的牛棚,每头奶牛都会选择用时最少的路线。

请计算所有奶牛中,往返派对所需总时间的最大值。

输入格式

第一行包含三个以空格分隔的整数 NN、MM 和 XX,分别表示牛棚数量、单向道路数量以及举办派对的牛棚编号。

接下来 MM 行,每行包含三个以空格分隔的整数 AiA_i、BiB_i 和 TiT_i,表示一条从牛棚 AiA_i 通往牛棚 BiB_i、通过时间为 TiT_i 的单向道路。

输出格式

输出一行一个整数,表示所有奶牛前往派对并返回原牛棚所需总时间的最大值。

样例输入

4 8 2
1 2 4
1 3 2
1 4 7
2 1 1
2 3 5
3 1 2
3 4 4
4 2 3

样例输出

10

样例解释

共有 44 头奶牛参加派对,农场中有 88 条单向道路,派对在编号为 22 的牛棚举行。

编号为 44 的牛棚中的奶牛可以直接前往派对所在地,用时为 33;返程的最短路线经过编号为 11 和 33 的牛棚,用时为 77。因此,它往返所需的总时间为 1010。

数据范围

  • 1≤N≤1031\le N\le 10^3;
  • 1≤M≤1051\le M\le 10^5。

来源与许可

本题为 USACO 20072007 年二月试题「Cow Party」,题面与测试数据整理自 BZOJ 16311631。

样例 1

输入

4 8 2
1 2 4
1 3 2
1 4 7
2 1 1
2 3 5
3 1 2
3 4 4
4 2 3

输出

10