『MGOI』Simple Round I | C. 魔法禁林
题目背景
> 战斗的意义是为了生存,在这个竞争激烈的世界里,只有不断变强才能得以生存。——殿堂魔法士 S
题目描述
开学的第一天,小 M 迫不及待地计划着前往神秘的禁林。
小 M 拥有两个重要的属性,魔力值和生命值。非常特别的是,初始时,这两个值可以由小 M **任意决定**。
禁林可以看作一张 $n$ 个点 $m$ 条边的无向简单连通图。小 M 将在禁林里面行走,从起点 $s$ 走到 $t$。
每经过一条边,小 M 的**魔力值**都会减去 1。同时,每条边上有一个具有攻击力属性的魔兽,小 M 要与之战斗。若小 M 经过这条边之前的魔力值为 $k$,这条边上魔兽的攻击力为 $w$,那么经过这条边时发生的战斗将会消耗 $\left\lfloor \dfrac{w}{k} \right\rfloor$ 的**生命值**。魔兽不会被打败,因此**多次经过同一条边,每次都会发生战斗**。
**小 M 需要保证,当他的魔力值消耗完时,他的生命值为 0,且此时走到 $t$ 点。**
你需要求出小 M 初始时需要的最小生命值。
输入输出格式
输入格式
第一行四个整数 $n,m,s,t$。
接下来 $m$ 行,每行三个整数 $u,v,w$,表示编号为 $u
,v$ 的点之间有一条边,边上魔兽的攻击力为 $w$。
输出格式
一行一个整数,表示小 M 初始时需要的最小生命值。
输入输出样例
输入样例 #1
3 3 1 3
1 2 2
1 3 5
3 2 3
输出样例 #1
4
输入样例 #2
5 10 1 5
2 1 3
3 1 7
4 2 4
5 3 9
5 1 7
2 3 2
5 4 6
1 4 10
5 2 5
3 4 10
输出样例 #2
6
说明
**【样例 1 解释】**
初始时,小 M 选择魔力值为 $2$,生命值为 $4$。
- $1\rightarrow2$:魔力值剩余 $1$,生命值剩余 $4 - \left\lfloor \frac{2}{2} \right\rfloor=3$。
- $2\rightarrow3$:魔力值剩余 $0$,生命值剩余 $3 - \left\lfloor \frac{3}{1} \right\rfloor=0$。
可以证明 $4$ 为小 M 初始时需要的最小生命值。
**【数据范围】**
**本题采用 Subtask 捆绑测试。**
对于所有数据,$1 \le n \le 20000$,$1 \le m \le 40000$,$1\le s,t,u,v\le n$,$s\ne t$,图为无向简单连通图,$0\le w\le 100$。
| Subtask | $n$ | $m$ | $w\le$ | 分值 |
| :------------: | :----------: | :----------: | :-----------: | :----------------:|
| $1$ | $5$ | $10$ | $10$ | $11$ |
| $2$ | $2000$ | $4000$ | $10$ | $27$ |
| $3$ | $20000$ | $40000$ | $1$ | $19$ |
| $4$ | $20000$ | $40000$ | $100$ | $43$ |