Submission #483651

#TimeUsernameProblemLanguageResultExecution timeMemory
483651alexdumitruEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
21 ms1776 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; vector<int> g[55000]; int p[55000],nrr; void dfs(int nod=1, int t=0) { p[++nrr]=nod; for(auto i:g[nod])if(i!=t)dfs(i,nod); } bool qq(int poz) { vector<int> qqq; for(int i=1;i<=poz;i++)qqq.push_back(p[i]); return query(qqq); } int findEgg(int N, vector<pair<int,int> > bridges) { for(int i=1;i<=N;i++)g[i].clear(); int st=1,dr=N-1,m,poz=N; for(auto i:bridges) { g[i.first].push_back(i.second); g[i.second].push_back(i.first); } dfs(); while(st<=dr) { m=st+(dr-st)/2; if(qq(m)) { poz=m; dr=m-1; } else st=m+1; } //cout<<poz<<'\n'; return p[poz]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...