Submission #1072978

#TimeUsernameProblemLanguageResultExecution timeMemory
1072978IgnutStations (IOI20_stations)C++17
0 / 100
641 ms684 KiB
// Ignut #include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 1111; vector<int> tree[N]; vector<int> order; void dfs(int v, int par) { order.push_back(v); for (int to : tree[v]) if (to != par) dfs(to, v); } vector<int> label(int n, int k, vector<int> u, vector<int> v) { // order.clear(); // for (int i = 0; i < n; i ++) { // tree[i].clear(); // } // for (int i = 0; i < n - 1; i ++) { // tree[u[i]].push_back(v[i]); // tree[v[i]].push_back(u[i]); // } // int start = 0; // for (int i = 0; i < n; i ++) // if (tree[i].size() == 1) // start = i; // dfs(start, -1); vector<int> lbl(n); for (int i = 0; i < n; i ++) lbl[i] = i; return lbl; } bool isInSubtree(int rt, int v) { int l = rt, r = rt; while (v > r) { l = l * 2 + 1, r = r * 2 + 2; } return (l <= v && v <= r); } int find_next_station(int s, int t, vector<int> c) { sort(c.begin(), c.end()); if (isInSubtree(c.back(), t)) return c.back(); c.pop_back(); if (isInSubtree(c.back(), t)) return c.back(); c.pop_back(); return c[0]; }
#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...