Submission #836581

#TimeUsernameProblemLanguageResultExecution timeMemory
836581NeroZeinStations (IOI20_stations)C++17
0 / 100
667 ms592 KiB
#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; assert(ptr < 10); 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 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...