| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1234258 | oscarsierra12 | Stations (IOI20_stations) | C++20 | 306 ms | 528 KiB | 
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
vector <int> g[N];
int lbl[N];
void dfs (int u, int par, int lb) {
  lbl[u] = lb;
  for (int &v : g[u]) {
    if (v == par) continue;
    dfs (v, u, lb + 1);
  }
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
	vector <int> labels(n);
	vector <int> deg (n, 0);
	for (int i = 0; i < n - 1; ++i) {
    deg[u[i]]++;
    deg[v[i]]++;
    g[u[i]].push_back (v[i]);
    g[v[i]].push_back (u[i]);
	}
	int st = 0;
	for (int i = 0; i < n; ++i) {
    if (deg[i] == 1) st = i;
	}
  dfs (st, -1, 0);
  /// clear
	for (int i = 0; i < n; ++i) g[i].clear();
	for (int i = 0; i < n; ++i) {
    labels[i] = lbl[i];
    lbl[i] = 0;
	}
	return labels;
}
int find_next_station(int s, int t, vector<int> c) {
  for (auto &e : c) {
    if ( abs(s - e) + abs(e - t) == abs(s - t) ) return e;
  }
}
Compilation message (stderr)
| # | 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... | ||||
