This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
std::vector<int> label(int n, int k, std::vector<int> eu, std::vector<int> ev) {
std::vector<int> labels(n, -1);
vector<vector<int>> g(n);
for (int i = 0; i < n - 1; ++i) {
g[ev[i]].push_back(eu[i]);
g[eu[i]].push_back(ev[i]);
}
int ptr = 0;
function<void(int, int)> Dfs = [&](int v, int p) {
for (int u : g[v]) {
if (u == p) continue;
labels[u] = labels[v] * primes[ptr++];
Dfs(u, v);
}
};
labels[0] = 1;
Dfs(0, 0);
return labels;
}
int find_next_station(int s, int t, std::vector<int> c) {
if (s > t) {
for (int i : c) if (i < s) return i;
} else {
if (t % s == 0) {
for (int i : c) {
if (t % i == 0) {
return i;
}
}
} else {
for (int i : c) if (i < s) return i;
}
}
assert(false);
}
# | 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... |