Submission #314127

#TimeUsernameProblemLanguageResultExecution timeMemory
314127JasiekstrzStations (IOI20_stations)C++17
100 / 100
1184 ms1280 KiB
#include<bits/stdc++.h> #include "stations.h" #define fi first #define se second using namespace std; vector<int> e[1010]; vector<int> ans; int dfs(int x,int p,int id,bool t) { if(!t) ans[x]=id++; for(auto v:e[x]) { if(v!=p) id=dfs(v,x,id,!t); } if(t) ans[x]=id++; return id; } vector<int> label(int n,int k,vector<int> u,vector<int> v) { ans=vector<int>(n); for(int i=0;i<n;i++) e[i].clear(); for(int i=0;i<n-1;i++) { e[u[i]].push_back(v[i]); e[v[i]].push_back(u[i]); } dfs(0,0,0,0); return ans; } int find_next_station(int s,int t,vector<int> c) { if(c[0]>s) { if(t<s) return c.back(); for(size_t i=0;i<c.size()-1;i++) { if(t<=c[i]) return c[i]; } return c.back(); } else { if(t>s) return c[0]; for(size_t i=c.size()-1;i>0;i--) { if(t>=c[i]) return c[i]; } return c[0]; } return -1; }
#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...