Submission #1199919

#TimeUsernameProblemLanguageResultExecution timeMemory
1199919BelphegorStations (IOI20_stations)C++20
0 / 100
308 ms572 KiB
#include <bits/stdc++.h> using namespace std; int counter; vector<int>tree[1005]; vector<int>labels; void dfs(int cur,int par,int d){ labels[cur] = ++counter; for(int nxt : tree[cur]){ if(nxt == par) continue; dfs(nxt,cur,d^1); } if(d) labels[cur] = counter; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { labels = vector<int>(n,-1); counter = -1; for(int i=0; i<n; i++) tree[i].clear(); for(int i=0; i<u.size(); i++){ int a = u[i],b = v[i]; tree[a].emplace_back(b); tree[b].emplace_back(a); } dfs(0,-1,0); return labels; } int find_next_station(int s, int t, vector<int>c) { if (s < c[0]) { if (t < s || t >= c[c.size() - 1]) return c[c.size() - 1]; for (int i : c) if (i >= t) return i; return c[c.size() - 1]; } if (t > s || t <= c[0]) return c[0]; int ans = c[0]; for (int i : c) if (i <= t) ans = i; return ans; }
#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...