Submission #306687

#TimeUsernameProblemLanguageResultExecution timeMemory
306687baluteshihStations (IOI20_stations)C++14
52.32 / 100
979 ms1232 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; #define X first #define Y second #define ALL(v) v.begin(),v.end() #define pb push_back #define SZ(a) ((int)a.size()) const int C=1000; vector<int> G[1005],idx; int dft; void dfs(int u,int f) { idx[u]=(++dft)*C; for(int i:G[u]) if(i!=f) dfs(i,u); idx[u]+=dft; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { idx.resize(n),dft=-1; for(int i=0;i<n;++i) G[i].clear(); for(int i=0;i+1<n;++i) G[u[i]].pb(v[i]),G[v[i]].pb(u[i]); dfs(0,0); return idx; } int find_next_station(int s, int t, vector<int> c) { if(s/C<=t/C&&s%C>=t%C) for(int i:c) { if(i>s&&i/C<=t/C&&i%C>=t%C) return i; } return *min_element(ALL(c)); }
#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...