Submission #1214334

#TimeUsernameProblemLanguageResultExecution timeMemory
1214334AvianshStations (IOI20_stations)C++20
0 / 100
304 ms552 KiB
#include "stations.h"
#include <vector>

#include <bits/stdc++.h>

using namespace std;

int tim;

void dfs(int st, vector<int>g[], vector<int>&labels, int p){
    labels[st]=tim++;
    for(int i : g[st]){
        if(i==p)
            continue;
        dfs(i,g,labels,st);
    }
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
    vector<int>g[n];
    for(int i = 0;i<n-1;i++){
        g[u[i]].push_back(v[i]);
        g[v[i]].push_back(u[i]);
    }
	vector<int> labels(n);
	tim=0;
    dfs(0,g,labels,-1);
    return labels;
}

int find_next_station(int s, int t, vector<int> c) {
    sort(c.begin(),c.end());
    if(c[0]<s){
        //not root
        if(t<s){
            return c[0];
        }
        c.erase(c.begin());
    }
    int n = c.size();
    for(int i = 1;i<n;i++){
        if(c[i]>t){
            return c[i-1];
        }
    }
    return c[n-1];
}
#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...