#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e3+3;
vector<int> label(int n, int k, vector<int> u, vector<int> v){
vector<int> labels(n);
for (int i = 0; i < n; i++) {
labels[i] = i;
}
return labels;
}
vector<int> getChild(int id){
vector<int> ans, l, r;
ans.push_back(id);
if(2*id < 999){
l = getChild(2*id+1);
}
if(2*id < 998){
r = getChild(2*id+2);
}
for(int x : l) ans.push_back(x);
for(int x : r) ans.push_back(x);
l.clear();
r.clear();
return ans;
}
int find_next_station(int s, int t, vector<int> c){
//menor que eu --> eh meu pai
int pai = 0;
vector<int> fis[2];
int id = 0;
for(int i : c){
if(i < s) pai = i;
else{
fis[id] = getChild(i);
sort(fis[id].begin(), fis[id].end());
int k = lower_bound(fis[id].begin(), fis[id].end(), t) - fis[id].begin();
if(k < fis[id].size() && fis[id][k] == t) return i;
id++;
}
}
return pai;
}
| # | 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... |