Submission #1164609

#TimeUsernameProblemLanguageResultExecution timeMemory
1164609boclobanchatEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms492 KiB
#include<bits/stdc++.h>
#include"grader.h"
using namespace std;
vector<int> ds[555];
int eul[555],tdfs=0;
void dfs(int i,int pre)
{
	eul[++tdfs]=i;
	for(auto v:ds[i]) if(v!=pre) dfs(v,i);
}
int findEgg(int N,vector< pair<int,int> > bridges)
{
	for(auto v:bridges) ds[v.first].push_back(v.second),ds[v.second].push_back(v.first);
	dfs(1,1);
	int l=1,r=N,ans=0;
	while(l<r)
	{
		int mid=(l+r)/2;
		vector<int> pos;
		for(int i=1;i<=mid;i++) pos.push_back(eul[i]);
		bool ck=(r-l==1);
		if(query(pos)) r=mid,ans=mid;
		else l=mid+1,ans=mid+1;
	}
	for(int i=1;i<=N;i++) ds[i].clear();
	tdfs=0;
	return eul[ans];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...