时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
本题有对应的hard version,区别仅在于easy version多一个额外限制条件,见输入描述,保证easy version的测试用例集是hard version的子集。
邪恶的魔王抓走了所有的小萝莉,并且把她们关在了

个城堡中,不过好消息是,清楚姐姐现在已经占领了

号城堡,并且在城堡中训练一些士(群)兵(友)来作战。
城堡与城堡之间有
条单向运兵线路,清楚姐姐只能按照这些单向道路派兵攻打敌方城堡。
对于除了
号城堡以外的每一个城堡,都被大魔王控制,每一座城堡有三个属性:防御力
,敌人总数
,以及人口数
。
清楚姐姐在任意时刻都可以进行如下几个操作
现在智乃想知道,清楚姐姐一开始在
号城堡中训练多少群友才能达成目标。
输入描述:
第一行输入两个正整数
)
表示城堡的数目

以及单向运兵路线的数目

。
接下来

行,每行输入三个非负整数
)
表示从

号城堡到

号城堡的防御力

,敌人总数

,以及人口数

。
接下来

行,每行输入两个正整数
)
表示一条单向运兵线路。
输入保证这些运兵线路构成一个DAG图,且从

号城堡可到达所有城堡。
easy version额外限制:保证
且对于
,城堡
到城堡
必定存在运兵路线。
输出描述:
仅一行一个整数,表示清楚姐姐一开始在
号城堡中训练多少群友才能达成目标。
示例1
输入
复制
3 2
0 1 99
100 100 0
1 2
2 3
说明
一开始训练

名群友,派它们攻击

号城堡。

号城堡的防御力为

,所以可以派

名群友直接进攻该城堡。
战斗结束后,在

号城堡内我方剩余

名士兵,占领

号城堡并招募

人,此时城堡内有

人。
最后派

人攻击

号城堡,在

号城堡内我方剩余

名士兵,占领该城堡获得胜利。
示例2
说明
城堡的防御力为

,需要至少

人同时进攻才能攻打城堡。
示例3
说明
注意至少需要
人存活才能占领城堡。
示例4
输入
复制
10 9
5 7 6
0 9 5
9 2 2
8 7 9
10 2 0
4 3 5
4 10 8
9 8 8
1 2 8
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
备注:
有向无环图oi-wiki:https://oi-wiki.org/graph/dag/
牛客竞赛图论课程:https://ac.nowcoder.com/courses/cover/live/740