#include <bits/stdc++.h>
using namespace std;
#define int long long
#define N 500005
int tc = 1, n, a[N], S, T, U, V, vis[N], m, ans;
vector <tuple <int,int,int>> E[N];
void dfs(int x,int p,int c) {
if(x == V) ans = c;
for(auto i : E[x]) {
int u, v, j;
tie(u,v,j) = i;
if(u != p) {
dfs(u, x, c + (v * (1-vis[j])));
}
}
}
int solve(int x,int p) {
if(x == T) return 1;
for(auto i : E[x]) {
int u, v, j;
tie(u, v, j) = i;
if(u != p) {
if(solve(u, x)) {
vis[j] = 1;
return 1;
}
}
}
return 0;
}
int32_t main() {
ios::sync_with_stdio(0);cin.tie(0);
cin >> n >> m >> S >> T >> U >> V;
for(int i=1; i <= m; i++) {
int u, v, c;
cin >> u >> v >> c;
E[u].push_back({v,c,i});
E[v].push_back({u,c,i});
}
solve(S, 0);
dfs(U,0, 0);
cout << ans << '\n';
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |