Score Attack

AtCoder
IDabc061_d
Time2000ms
Memory256MB
Difficulty
There is a directed graph with $N$ vertices and $M$ edges. The $i$\-th edge $(1≤i≤M)$ points from vertex $a_i$ to vertex $b_i$, and has a weight $c_i$. We will play the following single-player game using this graph and a piece. Initially, the piece is placed at vertex $1$, and the score of the player is set to $0$. The player can move the piece as follows: * When the piece is placed at vertex $a_i$, move the piece along the $i$\-th edge to vertex $b_i$. After this move, the score of the player is increased by $c_i$. The player can end the game only when the piece is placed at vertex $N$. The given graph guarantees that it is possible to traverse from vertex $1$ to vertex $N$. When the player acts optimally to maximize the score at the end of the game, what will the score be? If it is possible to increase the score indefinitely, print `inf`. ## Constraints * $2≤N≤1000$ * $1≤M≤min(N(N-1),2000)$ * $1≤a_i,b_i≤N (1≤i≤M)$ * $a_i≠b_i (1≤i≤M)$ * $a_i≠a_j$ or $b_i≠b_j (1≤i<j≤M)$ * $-10^9≤c_i≤10^9 (1≤i≤M)$ * $c_i$ is an integer. * In the given graph, there exists a path from vertex $1$ to vertex $N$. ## Input Input is given from Standard Input in the following format: $N$ $M$ $a_1$ $b_1$ $c_1$ $a_2$ $b_2$ $c_2$ $:$ $a_M$ $b_M$ $c_M$ [samples]
Samples
Input #1
3 3
1 2 4
2 3 3
1 3 5
Output #1
7

There are two ways to move the piece to vertex $N=3$:

*   vertex $1$ → vertex $2$ → vertex $3$ : score $4+3=7$
*   vertex $1$ → vertex $3$ : score $5$

Thus, the maximum possible score at the end of the game is $7$.
Input #2
2 2
1 2 1
2 1 1
Output #2
inf

It is possible to increase the score indefinitely by alternating between vertex $1$ and $2$.
Input #3
6 5
1 2 -1000000000
2 3 -1000000000
3 4 -1000000000
4 5 -1000000000
5 6 -1000000000
Output #3
\-5000000000
API Response (JSON)
{
  "problem": {
    "name": "Score Attack",
    "description": {
      "content": "There is a directed graph with $N$ vertices and $M$ edges. The $i$\\-th edge $(1≤i≤M)$ points from vertex $a_i$ to vertex $b_i$, and has a weight $c_i$. We will play the following single-player game us",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc061_d"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There is a directed graph with $N$ vertices and $M$ edges. The $i$\\-th edge $(1≤i≤M)$ points from vertex $a_i$ to vertex $b_i$, and has a weight $c_i$. We will play the following single-player game us...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments