제출 #1146776

#제출 시각아이디문제언어결과실행 시간메모리
1146776Bilal_CoderEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms780 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2,fma") using ll = long long; template<typename... T> void see(T&... args) { ((cin >> args), ...);} #define seea(a , x , y) for(int i = x; i < y; i++){cin >> a[i];} #define sees(s , n) for(int i = 0;i < n; i++){int x; cin >> x; s.insert(x);} #define seev(v , n) for(int i = 0;i < n; i++){int x; cin >> x; v.push_back(x);} #define ub(a, x) upper_bound(all(a), x) #define lb(a, x) lower_bound(all(a), x) #define rall(x) x.rbegin(), x.rend() #define all(x) x.begin(), x.end() #define pii pair<int , int> #define sz(x) (int)x.size() #define pq priority_queue #define vec vector #define arr array int n; vec<vec<int>> g; int findEgg (int N, vector < pair < int, int > > bridges) { n = N; g.resize(n); for (auto [x , y] : bridges){ x -- , y -- ; g[x].push_back(y); g[y].push_back(x); } vec<int> pf; queue<int> q; vec<int> us(n , false); us[0] = true; q.push(0); while(!q.empty()){ int v = q.front(); q.pop(); pf.push_back(v + 1); for (auto to : g[v]) if (!us[to]) q.push(to) , us[to] = true; } int l = 0 , r = n - 1; while(l < r){ int m = (l + r) >> 1; vec<int> ch(pf.begin() , pf.begin() + m + 1); if (query(ch)) r = m; else l = m + 1; } return pf[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...