Submission #756735

#TimeUsernameProblemLanguageResultExecution timeMemory
756735andrei_marciucEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
24 ms472 KiB
#include <bits/stdc++.h> #include "grader.h" #define MAX 512 using namespace std; vector<int> adj[ MAX + 10 ]; vector<int> nodes; void dfs( int node, int parent ) { nodes.push_back( node ); for( auto next : adj[ node ] ) if( next != parent ) dfs( next, node ); } int check( int pos ) { vector<int> nodesQuery; for( int i = 0; i < pos; i++ ) nodesQuery.push_back( nodes[ i ] ); return query( nodesQuery ); } int findEgg( int N, vector<pair<int, int>> bridges ) { for( int i = 1; i <= N; i++ ) adj[ i ].clear(); nodes.clear(); for( auto it : bridges ) { adj[ it.first ].push_back( it.second ); adj[ it.second ].push_back( it.first ); } dfs( 1, -1 ); int left = 0; int right = nodes.size(); while( left + 1 < right ) { int med = ( left + right ) / 2; if( check( med ) == 1 ) right = med; else left = med; } return nodes[ right - 1 ]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...