Submission #1353335

#TimeUsernameProblemLanguageResultExecution timeMemory
1353335gvancakEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
0 ms508 KiB
#include <bits/stdc++.h>
#include "grader.h"
#define f first
#define s second
#define pb push_back
#define ll long long
using namespace std;
vector <ll> a;
ll fix[515];
vector <ll> v[515];
void dfs(ll u){
	fix[u]=1; a.pb(u);
	for (int i=0; i<v[u].size(); i++){
		if (fix[v[u][i]]==1) continue;
		dfs(v[u][i]);
	}
	
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
	for (int i=1; i<=N; i++) v[i].clear();
	for (int i=0; i<bridges.size(); i++){
		pair <int,int> br=bridges[i];
		v[br.f].pb(br.s);
		v[br.s].pb(br.f);
	}
//	ll fix[N+5];
	for (int i=1; i<=N; i++) fix[i]=0;
	a.clear();
	dfs(1);
	ll l,r;
	l=1; r=N;
	vector <int> islands;
	
	while (l<r){
		ll mid=(l+r)/2;
		islands.clear();
		for (int i=0; i<mid; i++){
			islands.pb(a[i]);
		}
		
		int ok=query(islands);
		if (ok==1){
			r=mid;
		}
		else
		l=mid+1;
	}
	
	return l;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...