Submission #918684

#TimeUsernameProblemLanguageResultExecution timeMemory
918684vjudge1Easter Eggs (info1cup17_eastereggs)C++17
100 / 100
11 ms1248 KiB
#include<bits/stdc++.h> #include "grader.h" #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> #define ll long long #define ld long double #define vl vector<ll> #define vi vector<int> #define pii pair<int, int> #define pll pair<ll, ll> #define all(v) v.begin(), v.end() #define pb push_back #define f first #define s second using namespace std; using namespace __gnu_pbds; typedef tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; const ll sz = 550; vi g[sz]; vi order; int vis[sz]; void dfs(int node) { vis[node] = 1; order.pb(node); for(auto u : g[node]) { if(!vis[u]) dfs(u); } } int findEgg(int N, vector<pair<int, int>> bridges) { for(int i = 1; i <= N; i++) g[i].clear(); order.clear(); for(auto x : bridges){ g[x.f].pb(x.s); g[x.s].pb(x.f); } dfs(1); int l = 0, r = N - 1; while(l != r) { int mid = (l + r + 1) / 2; if(query(vi(order.begin(), order.begin() + mid))) r = mid - 1; else l = mid; } return order[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...