Submission #836525

#TimeUsernameProblemLanguageResultExecution timeMemory
836525NeroZeinStations (IOI20_stations)C++17
0 / 100
636 ms652 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std; 

std::vector<int> label(int n, int k, std::vector<int> eu, std::vector<int> ev) {
  std::vector<int> labels(n);
  vector<vector<int>> g(n); 
  for (int i = 0; i < n - 1; ++i) {
    g[ev[i]].push_back(eu[i]);
    g[eu[i]].push_back(ev[i]); 
  }
  int cnt = 0;
  function<void(int, int)> Dfs = [&](int v, int p) {
    labels[v] = cnt++; 
    for (int u : g[v]) {
      if (u != p) {
        Dfs(u, v); 
      }
    }
  };
  Dfs(0, 0); 
  return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
  assert(c.size() <= 2); 
  int mn = min(s, t);
  int mx = max(s, t);
  for (int i : c) {
    if (mn <= i && i <= mx) {
      return i; 
    }
  }
  return 0; 
  //assert(false); 
}
#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...