Submission #484569

# Submission time Handle Problem Language Result Execution time Memory
484569 2021-11-04T12:06:46 Z MohamedFaresNebili Easter Eggs (info1cup17_eastereggs) C++14
100 / 100
21 ms 460 KB
#include <bits/stdc++.h>
#include "grader.h"
/// #pragma GCC optimize ("Ofast")
/// #pragma GCC target ("avx2")
 
        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, int p) {
            id.pb(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.ff, b = u.ss;
                adj[a].pb(b); adj[b].pb(a);
            }
            dfs(1, 1);
            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];
        }
# Verdict Execution time Memory Grader output
1 Correct 1 ms 200 KB Number of queries: 4
2 Correct 1 ms 200 KB Number of queries: 4
3 Correct 1 ms 200 KB Number of queries: 4
4 Correct 1 ms 200 KB Number of queries: 4
# Verdict Execution time Memory Grader output
1 Correct 7 ms 336 KB Number of queries: 8
2 Correct 10 ms 340 KB Number of queries: 9
3 Correct 14 ms 328 KB Number of queries: 9
4 Correct 14 ms 348 KB Number of queries: 9
# Verdict Execution time Memory Grader output
1 Correct 21 ms 328 KB Number of queries: 9
2 Correct 17 ms 460 KB Number of queries: 9
3 Correct 14 ms 340 KB Number of queries: 9
4 Correct 11 ms 344 KB Number of queries: 9