답안 #484568

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
484568 2021-11-04T12:05:54 Z MohamedFaresNebili Easter Eggs (info1cup17_eastereggs) C++14
100 / 100
21 ms 364 KB
#include <bits/stdc++.h>
#include "grader.h"
 
        using namespace std;
        using ll  = long long;
        using vi  = vector<int>;
 
        #define pb push_back
        #define ff first
        #define ss second
        #define lb lower_bound
        #define all(x) (x).begin() , (x).end()
 
        vector<int>adj[555], id;
        void dfs(int v = 1, int p = 1) {
            id.push_back(v);
            for(auto u: adj[v]) { 
                if(u == p) continue;
                dfs(u, v);
            }
        }
 
        int findEgg (int N, vector < pair < int, int > > bridges)
        {
            for(int l = 1; l <= N; l++) adj[l].clear();
            id.clear();
            for(auto u : bridges) {
                int a = u.first, b = u.second;
                adj[a].push_back(b); adj[b].push_back(a);
            }
            dfs();
            int lo = 0, hi = N - 1;
            while(lo != hi) {
                int md = (lo + hi + 1)/2;
                if(query(vector<int>(id.begin(), id.begin() + md))) hi = md - 1;
                else lo = md;
            }
            return id[lo];
        }
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Number of queries: 4
2 Correct 2 ms 200 KB Number of queries: 4
3 Correct 2 ms 200 KB Number of queries: 4
4 Correct 1 ms 200 KB Number of queries: 4
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 328 KB Number of queries: 8
2 Correct 13 ms 340 KB Number of queries: 9
3 Correct 18 ms 340 KB Number of queries: 9
4 Correct 21 ms 340 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 364 KB Number of queries: 9
2 Correct 12 ms 348 KB Number of queries: 9
3 Correct 15 ms 340 KB Number of queries: 9
4 Correct 15 ms 344 KB Number of queries: 9