This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "stations.h"
#include <bits/stdc++.h>
#define mp make_pair
#define eb emplace_back
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define svec(x) sort(all(x))
#define press(x) x.erase(unique(all(x)), x.end());
using namespace std;
typedef long long LL;
typedef pair<int, int> pii;
typedef pair<int, LL> pil;
typedef pair<LL, int> pli;
typedef pair<LL, LL> pll;
const int INF=1e9;
const LL LLINF=1e18;
int n, re;
vector<int> link[1010], lab, id;
void dfs(int num, int par, int d){
    re++;
    if(d)lab[num-1]=re;
    for(auto i:link[num]){
        if(i==par)continue;
        dfs(i, num, (d+1)%2);
    }
    if(!d)lab[num-1]=re;
    re++;
}
vector<int> label(int _n, int k, vector<int> u, vector<int> v){
    n=_n;
	lab.clear();
	id.clear();
	lab.resize(n);
	re=0;
	for(int i=0; i<n-1; i++){
        link[u[i]+1].eb(v[i]+1);
        link[v[i]+1].eb(u[i]+1);
	}
	dfs(1, 0, 1);
	for(int i=1; i<=n; i++)link[i].clear();
	for(auto i:lab)id.eb(i);
	svec(id); press(id);
	for(auto &i:lab)i=lower_bound(all(id), i)-id.begin();
	return lab;
}
int find_next_station(int s, int t, vector<int> c){
	if(s<c[0]){
        for(int i=0; i<c.size(); i++){
            if(t<=c[i])return c[i];
        }
	}
	else{
        for(int i=c.size()-1; i>=0; i--){
            if(t>=c[i])return c[i];
        }
	}
}
/*
1
5 10
0 1
1 2
1 3
2 4
*/
Compilation message (stderr)
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:53:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         for(int i=0; i<c.size(); i++){
      |                      ~^~~~~~~~~
stations.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
   62 | }
      | ^| # | 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... |