Submission #434829

#TimeUsernameProblemLanguageResultExecution timeMemory
434829jairRSStations (IOI20_stations)C++17
0 / 100
1156 ms672 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;

int curLabel = 0;

void dfs(int src, int p, vector<int> & labels, vector<vector<int>> & adj){
	labels[src] = curLabel;
	curLabel++;

	for(int a : adj[src]){
		if(a == p) continue;
		dfs(a, src, labels, adj);
	}
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	std::vector<int> labels(n);
	vector<vector<int>> adj(n);
	for (int i = 0; i < u.size(); i++)
	{
		adj[u[i]].push_back(v[i]);
		adj[v[i]].push_back(u[i]);
	}

	curLabel = 0;
	dfs(0, -1, labels, adj);
	return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
	auto p = upper_bound(c.begin(), c.end(), t) - 1;
	return *p;
}

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:21:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |  for (int i = 0; i < u.size(); i++)
      |                  ~~^~~~~~~~~~
#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...