Submission #1132374

#TimeUsernameProblemLanguageResultExecution timeMemory
1132374StefanSebezStations (IOI20_stations)C++20
0 / 100
3052 ms2162688 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define ll long long #define ld long double const int N=3e5+50; vector<int>E[N]; int n; int in[N],tajm=-1; void DFS(int u,int parent){ in[u]=++tajm; for(auto i:E[u]) if(i!=parent) DFS(i,u); } std::vector<int> label(int n1, int k, std::vector<int> u, std::vector<int> v){ n=n1; for(int i=0;i<u.size();i++) E[u[i]].pb(v[i]),E[v[i]].pb(u[i]); int rt=0; for(int i=0;i<n;i++) if(E[i].size()==1) rt=i; DFS(rt,-1); //for(int i=0;i<n;i++) printf("%i ",in[i]);printf("\n"); vector<int>lbl;for(int i=0;i<n;i++) lbl.pb(in[i]); //for(auto i:lbl) printf("%i ",i);printf("\n"); return lbl; } int find_next_station(int s, int t, std::vector<int> c){ /*int res=0; if(s<t){ for(auto i:c){ if(i>=s) res=i; } } else{ for(auto i:c){ if(i<=s) res=i; } } if(s==t) res=s; return res;*/ int res=0; if(t<s){ for(auto i:c) if(i<s) res=i; } else{ for(auto i:c) if(i<=t) res=i; } return res; }
#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...