Submission #1160575

#TimeUsernameProblemLanguageResultExecution timeMemory
1160575thelegendary08Easter Eggs (info1cup17_eastereggs)C++17
0 / 100
292 ms196608 KiB
#include <bits/stdc++.h>
#define pb push_back
#define f0r(i,n) for(int i= 0; i<n; i++)
#define vi vector<int>
#include "grader.h"

using namespace std;
vector<int>et;
const int mxn = 517;
vector<vector<int>> adj(mxn);
void dfs(int node, int from){
	et.pb(node);
	for(auto u : adj[node]){
		if(u != from){
			dfs(u, node);
		}
	}
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
	f0r(i, N-1){
		int a = bridges[i].first;
		int b = bridges[i].second;
		adj[a].pb(b);
		adj[b].pb(a);
	}
	dfs(1, 0);
	int lo = 1; 
	int hi = et.size();
	while(lo < hi){
		int mid = (lo + hi) / 2;
		vi quer;
		f0r(i,mid)quer.pb(et[i]);
		if(query(quer)){
			hi = mid;
		}
		else{
			lo = mid + 1;
		}
	}
	return et[lo-1];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...