Submission #391534

#TimeUsernameProblemLanguageResultExecution timeMemory
391534ljubaStations (IOI20_stations)C++17
0 / 100
1045 ms668 KiB
#include "stations.h" #include <vector> #include <bits/stdc++.h> using namespace std; const int mxN = 1100; vector<int> adj[mxN]; std::vector<int> labels; int timer = 0; void dfs(int s, int p, int pa) { if(pa^1) labels[s] = timer++; for(auto e : adj[s]) { if(e == p) continue; dfs(e, s, pa^1); } if(pa) labels[s] = timer++; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { for(int i = 0; i < n; ++i) { adj[i].clear(); } for(int i = 0; i < n-1; ++i) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } labels.resize(n); dfs(0, -1, 0); return labels; } int find_next_station(int s, int t, std::vector<int> c) { sort(c.begin(), c.end()); if(s < c[0]) { //in ostali out for(auto e : c) { if(t >= s && t <= e) return e; } return c.back(); } else { reverse(c.begin(), c.end()); for(auto e : c) { if(t <= s && t >= e) return e; } 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...