제출 #1353285

#제출 시각아이디문제언어결과실행 시간메모리
1353285vako_pEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
9 ms544 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll int
#define pb push_back
#define ff first
#define sd second
#define debug(x) cerr << #x << " ----> " << x << endl;
#include "grader.h"

const int mxN = 1e6 + 5;
ll n;
vector<ll> v1[mxN],vv;

void dfs(ll at, ll par){
	vv.pb(at);
	for(auto it : v1[at]){
		if(it == par) continue;
		dfs(it, at);
	}
}

int findEgg (int N, vector < pair < int, int > > bridges){
	n = N;
	for(int i = 1; i <= n; i++) v1[i].clear();
	for(auto it : bridges){
		v1[it.ff].pb(it.sd);
		v1[it.sd].pb(it.ff);
	}
	vv.clear();
	dfs(1, 1);
	ll l = -1,r = n - 1;
	while(r > l + 1){
		ll mid = l + (r - l) / 2;
		vector<int> q;
		for(int i = 0; i <= mid; i++) q.pb(vv[i]);
		if(!query(q)) l = mid;
		else r = mid;
	}
	int ans = vv[r];
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...