#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> g[200001];
vector<int> l;
int num=0;
int lf[200001],rt[200001];
void dfs(int i,int p)
{
lf[i]=num++;
for(int j=0;j<g[i].size();j++)
{
int nb=g[i][j];
if(nb==p)continue;
dfs(nb,i);
}
rt[i]=num-1;
l[i]=lf[i]*1000+rt[i];
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v)
{
l.clear();
for(int i=0;i<n;i++)
l.push_back(0);
for(int i=0; i<n; i++)
g[i].clear();
for(int i=0; i<n-1; i++)
g[u[i]].push_back(v[i]),g[v[i]].push_back(u[i]);
dfs(0,-1);
return l;
}
int find_next_station(int s, int t, std::vector<int> c)
{
int l1=s/1000,r1=s%1000;
int l2=t/1000,r2=t%1000;
if(r1-l1>r2-l2)
{
for(int i=0;i<c.size();i++)
{
int cl=c[i]/1000;
int cr=c[i]%1000;
if(cr-cl>r1-l1)continue;
if(cl<=l2&&r2<=cr)return c[i];
}
}
for(int i=0;i<c.size();i++)
{
int cl=c[i]/1000;
int cr=c[i]%1000;
if(cr-cl>r1-l1)return c[i];
}
}
Compilation message (stderr)
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
59 | }
| ^
# | 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... |