#include <bits/stdc++.h>
#define endl "\n"
#define int long long
#define pii pair<int,int>
#define piii pair<int,pii>
#define fi first
#define se second
using namespace std;
const int maxn = 2e5+10;
const int INF = 1e18;
int n,m,s,t,u,v;
vector<pii> a[maxn];
vector<int> b[maxn];
int dist[maxn],du[maxn],dv[maxn];
bool valid[maxn];
piii dp[maxn];
void dijkstra(int s, int dist[]){
for (int i=1; i<=n; i++){
dist[i] = INF;
}
priority_queue<pii,vector<pii>,greater<pii>> pq;
dist[s] = 0;
pq.push({0,s});
while (!pq.empty()){
int u = pq.top().se;
int d = pq.top().fi;
pq.pop();
for (auto in:a[u]){
int v = in.fi;
int delta = in.se;
if (dist[v] > d+delta){
dist[v] = d+delta;
pq.push({d+delta,v});
}
}
}
}
void meow(int s){
priority_queue<pii> pq;
pq.push({dist[s],s});
valid[s] = true;
while (!pq.empty()){
int u = pq.top().se;
int d = pq.top().fi;
pq.pop();
dp[u].se.fi = min(dp[u].se.fi,du[u]);
dp[u].se.se = min(dp[u].se.se,dv[u]);
if (dp[u].fi > dp[u].se.fi + dv[u]){
dp[u].fi = dp[u].se.fi + dv[u];
}
if (dp[u].fi > dp[u].se.se + du[u]){
dp[u].fi = dp[u].se.se + du[u];
}
for (auto in:a[u]){
int v = in.fi;
int delta = in.se;
if (d - delta == dist[v]){
if (!valid[v]){
valid[v] = true;
pq.push({d-delta,v});
}
dp[v].fi = min(dp[v].fi,dp[u].fi);
dp[v].se.fi = min(dp[v].se.fi,dp[u].se.fi);
dp[v].se.se = min(dp[v].se.se,dp[u].se.se);
}
}
}
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
cin >> s >> t;
cin >> u >> v;
while (m--){
int x,y,z;
cin >> x >> y >> z;
a[x].push_back({y,z});
a[y].push_back({x,z});
}
dijkstra(s,dist);
dijkstra(u,du);
dijkstra(v,dv);
// for (int i=1; i<=n; i++){
// cout << dist[i] << " ";
// }
// cout << endl;
for (int i=1; i<=n; i++){
dp[i] = {INF,{INF,INF}};
}
meow(t);
cout << min(dp[s].fi,du[v]);
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
148 ms |
33564 KB |
Output is correct |
2 |
Correct |
165 ms |
33456 KB |
Output is correct |
3 |
Correct |
216 ms |
33568 KB |
Output is correct |
4 |
Correct |
142 ms |
33572 KB |
Output is correct |
5 |
Correct |
152 ms |
33232 KB |
Output is correct |
6 |
Correct |
172 ms |
33680 KB |
Output is correct |
7 |
Correct |
174 ms |
33240 KB |
Output is correct |
8 |
Correct |
235 ms |
33192 KB |
Output is correct |
9 |
Correct |
154 ms |
34124 KB |
Output is correct |
10 |
Correct |
123 ms |
34344 KB |
Output is correct |
11 |
Correct |
58 ms |
26668 KB |
Output is correct |
12 |
Correct |
168 ms |
34140 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
208 ms |
33628 KB |
Output is correct |
2 |
Correct |
164 ms |
33456 KB |
Output is correct |
3 |
Correct |
171 ms |
33200 KB |
Output is correct |
4 |
Correct |
211 ms |
33256 KB |
Output is correct |
5 |
Correct |
176 ms |
33204 KB |
Output is correct |
6 |
Correct |
184 ms |
33512 KB |
Output is correct |
7 |
Correct |
186 ms |
33560 KB |
Output is correct |
8 |
Correct |
186 ms |
33200 KB |
Output is correct |
9 |
Correct |
194 ms |
33184 KB |
Output is correct |
10 |
Correct |
183 ms |
33648 KB |
Output is correct |
11 |
Correct |
63 ms |
26680 KB |
Output is correct |
12 |
Correct |
166 ms |
33512 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
16724 KB |
Output is correct |
2 |
Correct |
6 ms |
15196 KB |
Output is correct |
3 |
Correct |
3 ms |
15232 KB |
Output is correct |
4 |
Correct |
14 ms |
18476 KB |
Output is correct |
5 |
Correct |
8 ms |
16728 KB |
Output is correct |
6 |
Correct |
5 ms |
15196 KB |
Output is correct |
7 |
Correct |
4 ms |
15192 KB |
Output is correct |
8 |
Correct |
4 ms |
15196 KB |
Output is correct |
9 |
Correct |
3 ms |
15196 KB |
Output is correct |
10 |
Correct |
8 ms |
16680 KB |
Output is correct |
11 |
Correct |
3 ms |
15192 KB |
Output is correct |
12 |
Correct |
4 ms |
15196 KB |
Output is correct |
13 |
Correct |
3 ms |
15196 KB |
Output is correct |
14 |
Correct |
4 ms |
15196 KB |
Output is correct |
15 |
Correct |
3 ms |
15196 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
148 ms |
33564 KB |
Output is correct |
2 |
Correct |
165 ms |
33456 KB |
Output is correct |
3 |
Correct |
216 ms |
33568 KB |
Output is correct |
4 |
Correct |
142 ms |
33572 KB |
Output is correct |
5 |
Correct |
152 ms |
33232 KB |
Output is correct |
6 |
Correct |
172 ms |
33680 KB |
Output is correct |
7 |
Correct |
174 ms |
33240 KB |
Output is correct |
8 |
Correct |
235 ms |
33192 KB |
Output is correct |
9 |
Correct |
154 ms |
34124 KB |
Output is correct |
10 |
Correct |
123 ms |
34344 KB |
Output is correct |
11 |
Correct |
58 ms |
26668 KB |
Output is correct |
12 |
Correct |
168 ms |
34140 KB |
Output is correct |
13 |
Correct |
208 ms |
33628 KB |
Output is correct |
14 |
Correct |
164 ms |
33456 KB |
Output is correct |
15 |
Correct |
171 ms |
33200 KB |
Output is correct |
16 |
Correct |
211 ms |
33256 KB |
Output is correct |
17 |
Correct |
176 ms |
33204 KB |
Output is correct |
18 |
Correct |
184 ms |
33512 KB |
Output is correct |
19 |
Correct |
186 ms |
33560 KB |
Output is correct |
20 |
Correct |
186 ms |
33200 KB |
Output is correct |
21 |
Correct |
194 ms |
33184 KB |
Output is correct |
22 |
Correct |
183 ms |
33648 KB |
Output is correct |
23 |
Correct |
63 ms |
26680 KB |
Output is correct |
24 |
Correct |
166 ms |
33512 KB |
Output is correct |
25 |
Correct |
8 ms |
16724 KB |
Output is correct |
26 |
Correct |
6 ms |
15196 KB |
Output is correct |
27 |
Correct |
3 ms |
15232 KB |
Output is correct |
28 |
Correct |
14 ms |
18476 KB |
Output is correct |
29 |
Correct |
8 ms |
16728 KB |
Output is correct |
30 |
Correct |
5 ms |
15196 KB |
Output is correct |
31 |
Correct |
4 ms |
15192 KB |
Output is correct |
32 |
Correct |
4 ms |
15196 KB |
Output is correct |
33 |
Correct |
3 ms |
15196 KB |
Output is correct |
34 |
Correct |
8 ms |
16680 KB |
Output is correct |
35 |
Correct |
3 ms |
15192 KB |
Output is correct |
36 |
Correct |
4 ms |
15196 KB |
Output is correct |
37 |
Correct |
3 ms |
15196 KB |
Output is correct |
38 |
Correct |
4 ms |
15196 KB |
Output is correct |
39 |
Correct |
3 ms |
15196 KB |
Output is correct |
40 |
Correct |
149 ms |
33052 KB |
Output is correct |
41 |
Correct |
171 ms |
34192 KB |
Output is correct |
42 |
Correct |
157 ms |
34036 KB |
Output is correct |
43 |
Correct |
56 ms |
26620 KB |
Output is correct |
44 |
Correct |
54 ms |
26704 KB |
Output is correct |
45 |
Correct |
187 ms |
34556 KB |
Output is correct |
46 |
Correct |
152 ms |
34372 KB |
Output is correct |
47 |
Correct |
164 ms |
33704 KB |
Output is correct |
48 |
Correct |
58 ms |
26196 KB |
Output is correct |
49 |
Correct |
127 ms |
32740 KB |
Output is correct |
50 |
Correct |
158 ms |
33992 KB |
Output is correct |
51 |
Correct |
160 ms |
34720 KB |
Output is correct |