#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
#define ii pair <int, int>
#define ff first
#define ss second
#define bit(i) (1 << (i))
#define fto(i, a, b) for (int i = (a); i <= (b); ++i)
#define fdto(i, a, b) for (int i = (a); i >= (b); --i)
#define flto(i, a, b) for (int i = (a); (1 << i) <= (b); ++i)
#define pb push_back
#define pf push_front
#define endl "\n"
#define oo (int)(998244353)
#define maxN 1005
#define l(s) s.length()
#define vi vector <int>
#define vii vector <ii>
#define fat(x, y) for (auto x : y)
#define fit(x, y) for (int x : y)
#define fiit(x, y) for (ii x : y)
#define EPS 1e-9
#define pi (acos(-1))
#define ll long long
int tme;
vi ke[maxN];
int pos[maxN], en[maxN], h[maxN];
void dfs(int u, int par) {
pos[u] = tme++;
for (int v : ke[u]) if (v != par) {
h[v] = h[u] + 1;
dfs(v, u);
}
en[u] = (tme - 1);
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
tme = 0;
fto(i, 0, n-1) ke[i].clear();
fto(i, 0, n-2) {
ke[u[i]].pb(v[i]);
ke[v[i]].pb(u[i]);
}
dfs(0, -1);
vector<pair<ii, int>> tmp;
fto(i, 0, n-1) {
if (h[i]%2 == 0) {
tmp.pb({{pos[i], -h[i]}, i});
} else {
tmp.pb({{en[i], -h[i]}, i});
}
}
sort(tmp.begin(), tmp.end());
vi res(n, 0);
fto(i, 0, n-1) res[abs(tmp[i].ss)] = i;
//fto(i, 0, n-1) cout << res[i] << " "; cout << endl;
return res;
}
int find_next_station(int s, int t, std::vector<int> c) {
int sz = int(c.size());
if (sz == 1) return c[0];
if (s == 0) {
fto(i, 0, sz - 1) if (c[i] >= t) return c[i];
return c[0];
}
if (s < c[0]) {
if (t > c[sz-2] || t < s) return c[sz-1];
fto(i, 0, sz-1) if (c[i] >= t) return c[i];
} else {
if (t > s || t < c[1]) return c[0];
fdto(i, sz-1, 0) if (c[i] <= t) return c[i];
}
return c[0];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |