#CSES1673. 高分

高分

题目背景

翻译自 CSES-1673 题。

题目描述

你玩一个包含 nn 个房间和 mm 条隧道的游戏。你从初始分数 00 开始,每次通过一条隧道会使你的分数增加 xx,其中 xx 可以是正数也可以是负数。你可以多次通过同一条隧道。

你的任务是从房间 11 移动到房间 nn。请你计算能够获得的最大分数。

输入格式

第一行包含两个整数 nn 和 mm:分别表示房间的数量和隧道的数量。房间编号从 1,2,…,n1,2,…,n。

接下来有 mm 行,每行描述一条隧道。每行包含三个整数 aa, bb 和 xx:表示一条从房间 aa 到房间 bb 的隧道,分数增加值为 xx。所有隧道都是单向的。

你可以假设从房间 11 到房间 nn 是可达的。

输出格式

输出一个整数:你能够获得的最大分数。如果可以获得无限大的分数,则输出 −1−1。

样例

4 5
1 2 3
2 4 -1
1 3 -2
3 4 7
1 4 4
5

说明/提示

1≤n≤25001 \leq n \leq 2500;

1≤m≤50001 \leq m \leq 5000;

1≤a,b≤n1 \leq a,b \leq n;

−109≤x≤109-10^9 \le x \le 10^9。