Submission #1189876

#TimeUsernameProblemLanguageResultExecution timeMemory
1189876JooEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
1 ms500 KiB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

void dfs(int u, int p, vector<vector<int>> &G, vector<int> &orders) {
    orders.emplace_back(u);
    for (int v : G[u]) if (v != p) dfs(v, u, G, orders);
}


int findEgg (int N, vector < pair < int, int > > bridges)
{
    vector<int> orders;
    vector<vector<int>> G(N + 5);
    for (auto [u, v] : bridges) {
        G[u].emplace_back(v);
        G[v].emplace_back(u);
    }
    dfs(1, -1, G, orders);

    int l = 0, r = N - 1;
    while (l < r) {
        int mid = (l + r) / 2;
        vector<int> to_ask;
        for (int i = 0; i < mid; i++) to_ask.push_back(orders[i]);
        if (query(to_ask)) r = mid;
        else l = mid + 1;
    }

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