#include "crocodile.h"
#include<bits/stdc++.h>
using namespace std;
vector<array<int, 2>> ad[100005];
int dis[100005], c[100005];
int travel_plan(int n, int m, int R[][2], int L[], int K, int P[])
{
for(int i = 0; i < m; i++){
int u = R[i][0], v = R[i][1], c = L[i];
ad[u].push_back({v, c});
ad[v].push_back({u, c});
}
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> w;
memset(dis, -1, sizeof(dis));
for(int i = 0; i < K; i++){
int u = P[i];
c[u] = 1; dis[u] = 0;
w.push({0, u});
}
while(w.size() > 0){
int u = w.top().second, d = w.top().first;
w.pop();
//cerr<<"A"<<u<<" "<<d<<" "<<c[u]<<" "<<c[0]<<endl;
if(++c[u] != 2) continue;
dis[u] = d;
for(auto &[v, dd] : ad[u]) if(dis[v] == -1){
w.push({d+dd, v});
}
}
return dis[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... |