Submission #348368

#TimeUsernameProblemLanguageResultExecution timeMemory
348368dennisstarStations (IOI20_stations)C++17
0 / 100
3043 ms2097156 KiB
#include <bits/stdc++.h> #include "stations.h" using namespace std; const int MX = 1e3 + 5; vector<int> L, adj[MX]; int O; void dfs(int n, int p, int d) { if (d&1) L[n]=O++; for (auto &i:adj[n]) if (i!=p) dfs(i, n, d+1); if (~d&1) L[n]=O++; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { L.resize(n); for (int i=0; i<n-1; i++) adj[u[i]].emplace_back(v[i]), adj[v[i]].emplace_back(u[i]); dfs(1, 0, 1); return L; } int find_next_station(int s, int t, vector<int> c) { if (c[0]>s) { if (t<s||t>=c.back()) return c.back(); return *lower_bound(c.begin(), c.end(), t); } else { if (t<=c[0]||t>s) return c[0]; return *--upper_bound(c.begin(), c.end(), t); } }
#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...