#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |