lc743 network delay time

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int (vector<vector<int>>& times, int N, int K) {
vector<int> nodes(N+1, INT_MAX);
nodes[K] = 0;
for(int i = 0; i < N; i++){
for(vector<int> t : times){
int u = t[0];
int v = t[1];
int w = t[2];
if(nodes[u] != INT_MAX && nodes[u] + w < nodes[v])
nodes[v] = nodes[u] + w;
}
}
int res = INT_MIN;
for(int i = 1; i <= N; i++){
res = max(res, nodes[i]);
}
return res == INT_MAX ? -1 : res;
}