Submission #1035636

#TimeUsernameProblemLanguageResultExecution timeMemory
1035636Mr_HusanboyStations (IOI20_stations)C++17
0 / 100
545 ms688 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define all(a) (a).begin(), (a).end() #define ff first #define ss second template<typename T> int len(T &a){return a.size();} mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count()); vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<vector<int>> g(n); for(int i = 0; i < n - 1;i ++){ g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } vector<int> tout(n); int tim = 0; auto dfs = [&](auto &dfs, int i, int p = -1)->void{ for(auto u : g[i]){ if(u == p) continue; dfs(dfs, u, i); } tout[i] = tim ++; }; dfs(dfs, 0); //assert(len(g[0]) > 1); tout[0] = 1000; return tout; } int find_next_station(int s, int t, vector<int> c) { if(len(c) == 1) return c[0]; //assert(s != 1000); if(s < t){ return c.back(); } if(c.back() > s) c.pop_back(); //for(auto u : c) cout << u << endl; for(int i = 1; i < len(c); i ++){ if(c[i - 1] < t && t <= 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...