Submission #1255751

#TimeUsernameProblemLanguageResultExecution timeMemory
1255751papauloCrocodile's Underground City (IOI11_crocodile)C++20
100 / 100
374 ms75772 KiB
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; #define MAXN 200200 vector<pair<int, int>> adj[MAXN]; int vcnt[MAXN]; using ll = long long; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { memset(vcnt, 0, sizeof(vcnt)); for(int i=0;i<M;i++) { adj[R[i][0]].push_back({R[i][1], L[i]}); adj[R[i][1]].push_back({R[i][0], L[i]}); } for(int i=0;i<K;i++) vcnt[P[i]]++; priority_queue<pair<ll, int>> pq; for(int i=0;i<K;i++) pq.push({0, P[i]}); while(!pq.empty()) { auto pr=pq.top(); pq.pop(); int v=pr.second; vcnt[v]++; if(vcnt[v]!=2) continue; if(v==0) return -pr.first; for(auto e : adj[v]) { pq.push({pr.first-e.second, e.first}); } } return N; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...