Submission #1289111

#TimeUsernameProblemLanguageResultExecution timeMemory
1289111harryleeeCrocodile's Underground City (IOI11_crocodile)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; const long long inf = 1e18; struct cmp{ bool operator()(const pair<int, long long>& a, const pair<int, long long>& b) const { return a.second > b.second; } }; int travel_plan(int n, int m, vector<vector<int>> R, vector<int> L, int k, vector<int> P){ vector<vector<pair<int, int>>> adj(n); vector<pair<long long, long long>> dis(n); vector<bool> out(n, false); for (int i = 0; i < n; ++i) dis[i].first = dis[i].second = inf; for (int i = 0; i < m; ++i){ int u = R[i][0], v = R[i][1], w = L[i]; adj[u].push_back({v, w}); adj[v].push_back({u, w}); } priority_queue<pair<int, long long>, vector<pair<int, long long>>, cmp> pq; for (int i = 0; i < k; ++i){ int u = P[i]; out[u] = true; dis[u].first = dis[u].second = 0; pq.push({u, 0}); } while(!pq.empty()){ int u = pq.top().first, cur_dis = pq.top().second; pq.pop(); if (cur_dis != dis[u].second) continue; for (auto [v, w] : adj[u]){ bool opt = false; if (cur_dis + w <= dis[v].first){ dis[v].second = dis[v].first; dis[v].first = cur_dis + w; opt = true; } else if (cur_dis + w < dis[v].second){ dis[v].second = cur_dis + w; opt = true; } if (opt && dis[v].first != inf && dis[v].second != inf) pq.push({v, dis[v].second}); } } return dis[0].second; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccFoHZ4P.o: in function `main':
grader.cpp:(.text.startup+0x36): undefined reference to `travel_plan(int, int, int (*) [2], int*, int, int*)'
collect2: error: ld returned 1 exit status