Submission #1302518

#TimeUsernameProblemLanguageResultExecution timeMemory
1302518sanoStations (IOI20_stations)C++20
0 / 100
3057 ms2162688 KiB
#include "stations.h"
#include <vector>
#define vec vector
#define For(i, n) for(int i = 0; i < n; i++)
using namespace std;

vec<vec<int>> g;
int et = 0;
void dfs(int x, vec<int>&odp, int pr = -1){
	odp[x] = et; et++;
	for(auto i : g[x]){
		if(i == pr) continue;
		dfs(i, odp, x);
	}
	return;
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	vec<int> odp(n);
	g.resize(n);
	For(i, u.size()){
		g[u[i]].push_back(v[i]);
	}
	For(i, g.size()){
		if(g[i].size() == 1){
			dfs(i, odp);
			break;
		}
	}
	return odp;
}

int find_next_station(int s, int t, std::vector<int> c) {
	for(auto i : c){
		if(i <= t && s > t) return i;
		if(i >= t && s < t) return i;
	}
	return -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...