Submission #1242847

#TimeUsernameProblemLanguageResultExecution timeMemory
1242847rhm_ganEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms504 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;

vector<int> a;
vector<vector<int>> g;

void dfs(int u, int p) {
    a.push_back(u);
    for (auto v : g[u]) {
        if (v != p) dfs(v, u);
    }
}

int findEgg (int N, vector<pair<int, int>> bridges) {
    a.clear();
    g.assign(N + 1, vector<int>());
    for (auto [u, v] : bridges) {
        g[u].push_back(v);
        g[v].push_back(u);
    }

    dfs(1, 0);
    int l = 0, r = N;
    while (l + 1 < r) {
        int m = (l + r) / 2;
        if (query({a.begin(), a.begin() + m})) {
            r = m;
        }
        else {
            l = m;
        }
    }

    return a[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...