#include<bits/stdc++.h>
using namespace std;
vector<vector<int>> Next;
vector<int> Values;
int dfs(int x,int parent,int Pelements,bool type) {
auto a=x;
if(type==false) {
Values[x]=Pelements;
int children=1+Pelements;
for(int i=0; i<Next[x].size(); i++) {
if(Next[x][i]!=parent) {
children += dfs(Next[x][i],x,children,true);
}
}
auto A=Values;
return children-Pelements;
}
int children=Pelements;
for(int i=0; i<Next[x].size(); i++) {
if(Next[x][i]!=parent) {
children += dfs(Next[x][i],x,children,false);
}
}
Values[x]=children;
children++;
auto A=Values;
return children-Pelements;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
Next=vector<vector<int>> (n);
for(int i=0; i<n-1; i++) {
Next[u[i]].push_back(v[i]);
Next[v[i]].push_back(u[i]);
}
Values=vector<int>(n);
dfs(0,-1,0,false);
return Values;
}
int find_next_station(int s, int t, vector<int> c){
if(s<c[0]){
if(t<s){
return c[c.size()-1];
}
for(int i=0;i<c.size()-1;i++){
if(t<=c[i]){
return c[i];
}
}
return c[c.size()-1];
}
if(t>s){
return c[0];
}
for(int i=c.size()-1;i>0;i--){
if(t>=c[i]){
return c[i];
}
}
return c[0];
}
# | 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... |