Submission #408841

#TimeUsernameProblemLanguageResultExecution timeMemory
408841SirCovidThe19thCrocodile's Underground City (IOI11_crocodile)C++14
100 / 100
564 ms87508 KiB
#include <bits/stdc++.h> using namespace std; int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]){ vector<vector<pair<int, int>>> adj(n); 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]}); } priority_queue<pair<long long, int>> trav; vector<int> visited(n, 0); for (int i = 0; i < k; i++){ visited[p[i]] = 1; trav.push({0, p[i]}); } while (!trav.empty()){ pair<long long, int> curr = trav.top(); trav.pop(); visited[curr.second]++; if (visited[curr.second] == 2 and curr.second == 0) return -curr.first; if (visited[curr.second] == 2) for (pair<int, int> elem : adj[curr.second]) if (visited[elem.first] != 2) trav.push({curr.first-elem.second, elem.first}); } }

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:5:41: warning: control reaches end of non-void function [-Wreturn-type]
    5 |     vector<vector<pair<int, int>>> adj(n);
      |                                         ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...