Submission #1057159

#TimeUsernameProblemLanguageResultExecution timeMemory
1057159Drifter24Easter Eggs (info1cup17_eastereggs)C++14
87 / 100
16 ms988 KiB
#include <bits/stdc++.h> using namespace std; int query(vector < int > islands); void dfs(int v, int p, vector<vector<int>>& adj, vector<int>& ans){ ans.push_back(v); for(int u:adj[v]){ if(u==p)continue; dfs(u, v, adj, ans); } } int findEgg(int N, vector < pair < int, int > > bridges){ vector<int> ans; vector<vector<int>> adj(N+1, vector<int>()); for(auto x:bridges){ adj[x.first].push_back(x.second); adj[x.second].push_back(x.first); } dfs(1, 0, adj, ans); int l=1,r=N; while(l<=r){ int m=l+(r-l)/2; vector<int> q; for(int i=0;i<m;++i)q.push_back(ans[i]); if(query(q))r=m-1; else l=m+1; } return ans[min(N, r+1)-1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...