Submission #901503

#TimeUsernameProblemLanguageResultExecution timeMemory
901503ivazivaEaster Eggs (info1cup17_eastereggs)C++14
40 / 100
12 ms1276 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; #define MAXN 520 long long n; vector<long long> adj[MAXN]; vector<long long> nodes; vector<int> vec; void dfs(long long node,long long pret) { nodes.push_back(node); long long s=adj[node].size(); for (long long i=0;i<s;i++) { long long sled=adj[node][i]; if (sled!=pret) dfs(sled,node); } } bool check(long long mid) { for (long i=0;i<=mid;i++) vec.push_back(nodes[i]); long long ans=query(vec);vec.clear(); if (ans==1) return true; return false; } int findEgg(int N, vector < pair < int, int > > bridges) { n=N;nodes.clear(); for (long long i=0;i<MAXN;i++) adj[i].clear(); for (long long i=0;i<n-1;i++) { long long x=bridges[i].first; long long y=bridges[i].second; adj[x].push_back(y); adj[y].push_back(x); } dfs(1,0); long long l=0; long long r=n-1; long long rez=-1; long long pretmid=-1; while (l!=r) { long long mid=(l+r+1)/2; if (mid==pretmid) break; pretmid=mid; if (check(mid)) {rez=mid;r=mid-1;} else l=mid; } return nodes[rez]; };
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...