Submission #1189354

#TimeUsernameProblemLanguageResultExecution timeMemory
1189354hamzabc기지국 (IOI20_stations)C++20
0 / 100
3051 ms2162688 KiB
#include "stations.h"
#include <bits/stdc++.h>


using namespace std;


int timer;
std::vector<std::vector<int>> graph;
std::vector<int> labels;


void dfs(int a, int p){
	labels[a] = timer;
	timer--;
	for (auto go : graph[a]){
		if (go == p)
			continue;
		dfs(go, a);
	}
}


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

int find_next_station(int s, int t, std::vector<int> c) {
	int ret = INT_MAX;
	int mx = -1;
	for (int i : c){
		if (i < t){
			mx = std::max(mx, i);
			continue;
		}
		ret = std::min(ret, i);
	}
	if (ret == INT_MAX)
		return mx;
	return ret;
}
#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...