Submission #1229073

#TimeUsernameProblemLanguageResultExecution timeMemory
1229073Rokas159Stations (IOI20_stations)C++20
5 / 100
308 ms500 KiB
#include "stations.h" #include <vector> #include <bits/stdc++.h> using namespace std; std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { vector<vector<int>> adj(n); vector<int> laipsnis(n, 0); for (int i = 0; i < u.size(); i++) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); laipsnis[u[i]]++; laipsnis[v[i]]++; } queue<int> q; for (int i = 0; i < n; i++) { if (laipsnis[i] == 1) { q.push(i); break; } } std::vector<int> labels(n); labels[q.front()] = 0; vector<bool> vis(n, false); while (!q.empty()) { int s = q.front(); q.pop(); vis[s] = true; for (int u : adj[s]) { if (!vis[u]) { vis[u] = true; labels[u] = labels[s] + 1; q.push(u); } } } return labels; } int find_next_station(int s, int t, std::vector<int> c) { int mi = c[0], ma = c[0]; for (int i = 1; i < c.size(); i++) { mi = min(mi, c[i]); ma = max(ma, c[i]); } if (t < s) { return mi; } return ma; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...