Submission #1330963

#TimeUsernameProblemLanguageResultExecution timeMemory
1330963BehruzbekXEaster Eggs (info1cup17_eastereggs)C++17
0 / 100
1 ms476 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;

int findEgg(int n, vector<pair<int, int>> e) {
    vector<int> ord;
    vector<vector<int>> a(n);
    for (auto &[x, y] : e) --x, --y, a[x].emplace_back(y), a[y].emplace_back(x);
    auto dfs = [&] (auto &dfs, int v, int p) -> void{
        ord.emplace_back(v);
        for (int u : a[v]) {
            if (u == p) continue;
            dfs(dfs, u, v);
        }
    };
    dfs(dfs, 0, -1);
    int l = 0, r = n - 1, ans = -1;
    while (l <= r) {
        int m = (l + r) >> 1;
        vector<int> st;
        if (l == r) break;
        for (int i = 0; i <= m; i++) st.emplace_back(ord[i] + 1);
        if (!query(st)) ans = m, l = m + 1;
        else r = m - 1;
    }
    return ord[ans + 1] + 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...