CF894E.Ralph and Mushrooms

提高+/省选-

通过率:0%

时间限制:2.50s

内存限制:512MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Ralph is going to collect mushrooms in the Mushroom Forest.

There are m directed paths connecting n trees in the Mushroom Forest. On each path grow some mushrooms. When Ralph passes a path, he collects all the mushrooms on the path. The Mushroom Forest has a magical fertile ground where mushrooms grow at a fantastic speed. New mushrooms regrow as soon as Ralph finishes mushroom collection on a path. More specifically, after Ralph passes a path the i-th time, there regrow i mushrooms less than there was before this pass. That is, if there is initially x mushrooms on a path, then Ralph will collect x mushrooms for the first time, x - 1 mushrooms the second time, x - 1 - 2 mushrooms the third time, and so on. However, the number of mushrooms can never be less than 0.

For example, let there be 9 mushrooms on a path initially. The number of mushrooms that can be collected from the path is 9, 8, 6 and 3 when Ralph passes by from first to fourth time. From the fifth time and later Ralph can't collect any mushrooms from the path (but still can pass it).

Ralph decided to start from the tree s. How many mushrooms can he collect using only described paths?

拉尔夫将前往蘑菇森林采集蘑菇。

蘑菇森林中有 mm 条有向路径,连接着 nn 棵树。每条路径上生长着若干蘑菇。当拉尔夫经过一条路径时,他会采集该路径上的全部蘑菇。蘑菇森林拥有一片神奇的肥沃土地,蘑菇以惊人的速度再生。每当拉尔夫完成一次路径上的蘑菇采集后,该路径上的蘑菇会立即重新生长。具体而言:拉尔夫第 ii 次经过某条路径后,新长出的蘑菇数量比本次采集前少 ii 个。也就是说,若某条路径初始有 xx 个蘑菇,则拉尔夫第一次经过时可采集 xx 个蘑菇,第二次经过时可采集 x−1x - 1 个蘑菇,第三次经过时可采集 x−1−2=x−3x - 1 - 2 = x - 3 个蘑菇,依此类推。但蘑菇数量永远不会低于 00。

例如,假设某条路径初始有 99 个蘑菇,则拉尔夫从第一次到第四次经过该路径时,分别可采集 99、88、66 和 33 个蘑菇;从第五次及之后经过该路径时,拉尔夫无法再采集到任何蘑菇(但仍可通行)。

拉尔夫决定从树 ss 出发。他仅能使用上述描述的路径,最多能采集多少蘑菇?

输入格式

The first line contains two integers n and m (1 ≤ n ≤ 106, 0 ≤ m ≤ 106), representing the number of trees and the number of directed paths in the Mushroom Forest, respectively.

Each of the following m lines contains three integers x, y and w (1 ≤ x, y ≤ n, 0 ≤ w ≤ 108), denoting a path that leads from tree x to tree y with w mushrooms initially. There can be paths that lead from a tree to itself, and multiple paths between the same pair of trees.

The last line contains a single integer s (1 ≤ s ≤ n) — the starting position of Ralph.

第一行包含两个整数 nn 和 mm(1≤n≤1061 \leq n \leq 10^6,0≤m≤1060 \leq m \leq 10^6),分别表示蘑菇森林中树的数量和有向路径的数量。

接下来的 mm 行每行包含三个整数 xx、yy 和 ww(1≤x,y≤n1 \leq x, y \leq n,0≤w≤1080 \leq w \leq 10^8),表示一条从树 xx 指向树 yy 的路径,其上初始有 ww 个蘑菇。可能存在从一棵树指向其自身的路径,以及同一对树之间存在多条路径。

最后一行包含一个整数 ss(1≤s≤n1 \leq s \leq n)—— Ralph 的起始位置。

输出格式

Print an integer denoting the maximum number of the mushrooms Ralph can collect during his route.

输出一个整数,表示拉尔夫在路线中最多能采集的蘑菇数量。

输入输出样例

  • 输入#1

    2 2
    1 2 4
    2 1 4
    1

    输出#1

    16
  • 输入#2

    3 3
    1 2 4
    2 3 3
    1 3 8
    1

    输出#2

    8

说明/提示

In the first sample Ralph can pass three times on the circle and collect 4 + 4 + 3 + 3 + 1 + 1 = 16 mushrooms. After that there will be no mushrooms for Ralph to collect.

In the second sample, Ralph can go to tree 3 and collect 8 mushrooms on the path from tree 1 to tree 3.

在第一个样例中,拉尔夫可以在环上经过三次,收集到 4+4+3+3+1+1=164 + 4 + 3 + 3 + 1 + 1 = 16 个蘑菇。此后将不再有蘑菇可供拉尔夫收集。

在第二个样例中,拉尔夫可以前往第 3 棵树,并在从第 1 棵树到第 3 棵树的路径上收集到 8 个蘑菇。

输入解题思路,AI测评打分。不知道怎么写?

首页