Submission #575417

#TimeUsernameProblemLanguageResultExecution timeMemory
575417spensaEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
23 ms456 KiB
#include <bits/stdc++.h>

#include "grader.h"

using namespace std;


vector<int> graph[513], ord;


void dfs(int node = 1, int parent = 0) {

	ord.push_back(node);

	for (int i : graph[node]) if (i != parent) dfs(i, node);

}


int findEgg(int N, vector<pair<int, int>> bridges) {

	for (int i = 1; i <= N; i++) graph[i].clear();

	ord.clear();

	for (pair<int, int> i : bridges) {

		graph[i.first].push_back(i.second);

		graph[i.second].push_back(i.first);

	}

	dfs();

	int l = 0, r = N - 1;

	while (l != r) {

		int mid = (l + r + 1) / 2;

		if (query(vector<int>(ord.begin(), ord.begin() + mid))) r = mid - 1;

		else l = mid;

	}

	return ord[l];

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...