Submission #1298639

#TimeUsernameProblemLanguageResultExecution timeMemory
1298639lukaye_19Stations (IOI20_stations)C++20
0 / 100
1 ms444 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; int t = 0; vector<vector<int>>adj; vector<int>labels; void DFS(int node,int parent,int odd) { if (odd) labels[node] = t++; for (int child : adj[node]) { if (child != parent) DFS(child,node,1 - odd); } if (!odd) labels[node] = t++; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { adj.assign(n,{}); labels.assign(n,0); for (int i = 0; i < n - 1; i++) { int u1 = u[i] - 1; int v1 = v[i] - 1; adj[v1].push_back(u1); adj[u1].push_back(v1); } t = 0; DFS(0,-1,1); return labels; } int find_next_station(int s,int ta,vector<int> c) { sort(c.begin(),c.end()); if (s < c[0]) { if (ta <= s) return c[c.size() - 1]; for (int i = 0; i < c.size(); i++) { if (ta <= c[i]) return c[i]; } return c[c.size() - 1]; } else { if (ta >= s) return c[0]; for (int i = c.size() - 1; i >= 0; i--) { if (ta >= c[i]) return c[i]; } 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...