#include <bits/stdc++.h>
#include "crocodile.h"
using namespace std;
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) {
vector<vector<array<int, 2>>> g(N);
for (int i = 0; i < M; i++) {
int u = R[i][0], v = R[i][1], w = L[i];
g[u].push_back({v, w});
g[v].push_back({u, w});
}
priority_queue<pair<long long, int>, vector<pair<long long, int>>, greater<pair<long long, int>>> q;
vector<int> vis(N);
for (int i = 0; i < K; i++) {
q.push({0, P[i]});
vis[P[i]]++;
}
while (!q.empty()) {
auto [d, u] = q.top();
q.pop();
if (vis[u] == 1) {
vis[u]++;
if (u == 0) {
return d;
}
for (auto [v, w] : g[u]) {
q.emplace(d + w, v);
}
} else {
vis[u]++;
}
}
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... |