Submission #990910

# Submission time Handle Problem Language Result Execution time Memory
990910 2024-05-31T19:02:41 Z RaduM Easter Eggs (info1cup17_eastereggs) C++14
100 / 100
14 ms 740 KB
#include "grader.h"
#include <bits/stdc++.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 time Memory Grader output
1 Correct 1 ms 344 KB Number of queries: 4
2 Correct 1 ms 344 KB Number of queries: 4
3 Correct 1 ms 344 KB Number of queries: 4
4 Correct 1 ms 344 KB Number of queries: 4
# Verdict Execution time Memory Grader output
1 Correct 2 ms 344 KB Number of queries: 8
2 Correct 6 ms 484 KB Number of queries: 9
3 Correct 10 ms 740 KB Number of queries: 9
4 Correct 9 ms 600 KB Number of queries: 9
# Verdict Execution time Memory Grader output
1 Correct 9 ms 344 KB Number of queries: 9
2 Correct 8 ms 492 KB Number of queries: 9
3 Correct 14 ms 368 KB Number of queries: 9
4 Correct 10 ms 480 KB Number of queries: 9