Submission #1145858

#TimeUsernameProblemLanguageResultExecution timeMemory
1145858fnfiEaster Eggs (info1cup17_eastereggs)C++17
0 / 100
0 ms500 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int maxn=600; vector<int>v[maxn],euler; bool used[maxn]; void dfs(int node) { used[node]=true; for(int i : v[node]) { if(!used[i]) { euler.push_back(i); dfs(i); if(euler.back()!=i)euler.push_back(i); } } } int findEgg(int N, vector < pair < int, int > > bridges) { memset(used,false,sizeof(used)); for(int i=1;i<=512;i++)v[i].clear(); euler.clear(); for(pair<int,int>p : bridges) { v[p.first].push_back(p.second); v[p.second].push_back(p.first); } for(int i=1;i<=N;i++) { if(!used[i]) { euler.push_back(i); dfs(i); } } ///bin search int l=0,r=euler.size()-1,mid,curr; while(l<=r) { mid=(l+r)/2; vector<int>ask; for(int i=l;i<=mid;i++)ask.push_back(i); curr=query(ask); if(curr==1) l=mid-1; else r=mid+1; } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...