Submission #1143868

#TimeUsernameProblemLanguageResultExecution timeMemory
1143868IrateEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
288 ms196608 KiB
#include <bits/stdc++.h> using namespace std; const int mxN = 513; vector<int>G[mxN], Euler; void dfs(int node, int par){ Euler.push_back(node); for(int &v : G[node]){ if(v != par){ dfs(v, node); } } } int query(vector<int>q);//{ // cout << "? "; // for(int i : q){ // cout << i << " "; // } // cout << endl; // int a; // cin >> a; // return a; // } int findEgg(int n, vector<pair<int, int>>bridges){ for(int i = 0;i < n - 1;++i){ int u = bridges[i].first, v = bridges[i].second; G[u].push_back(v); G[v].push_back(u); } dfs(1, 1); int l = 0, r = Euler.size() - 1, ans = 0; while(l <= r){ int mid = (l + r) / 2; vector<int>q; for(int i = 0;i <= mid;++i){ q.push_back(Euler[i]); } if(query(q)){ ans = mid; r = mid - 1; } else{ l = mid + 1; } } return Euler[ans]; } // int main(){ // ios_base::sync_with_stdio(0); // cin.tie(0); // int n; // cin >> n; // vector<pair<int, int>>b; // for(int i = 0;i < n - 1;++i){ // int u, v; // cin >> u >> v; // b.push_back({u, v}); // } // cout << findEgg(n, b); // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...