Submission #1280340

#TimeUsernameProblemLanguageResultExecution timeMemory
1280340Jawad_Akbar_JJStations (IOI20_stations)C++17
100 / 100
402 ms556 KiB
#include <iostream>
#include <vector>
#include "stations.h"

using namespace std;
vector<int> nei[1005], lbl;
int cur;

void dfs(int u, int p, int type){
	if (type == 1)
		lbl[u] = cur++;

	for (int i : nei[u]){
		if (i == p)
			continue;
		dfs(i, u, 1 - type);
	}

	if (type == 0)
		lbl[u] = cur++;
}

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

	lbl.resize(n);
	cur = 0;
	dfs(0, 0, 0);

	for (int i=0;i<n;i++)
		nei[i].clear();
	return lbl;
}

int find_next_station(int s, int t, vector<int> c){
	if (c.back() < s){
		c.push_back(s);
		for (int i=1;i<c.size()-1;i++)
			if (t < c[i+1] and t >= c[i])
				return c[i];
		return c[0];
	}
	if (c.size() == 1 or t < s or c[c.size() - 2] < t)
		return c.back();
	for (int i=0;i<c.size() - 1;i++)
		if (t <= c[i])
			return c[i];
}

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:51:1: warning: control reaches end of non-void function [-Wreturn-type]
   51 | }
      | ^
#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...