Submission #1189896

#TimeUsernameProblemLanguageResultExecution timeMemory
1189896comxddddddEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
9 ms504 KiB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;
vector<vector<int>> g;
vector<int> o;

void dfs(int curr,int pre){
    o.emplace_back(curr);
    for(auto x : g[curr]){
        if(x == pre) continue;
        dfs(x,curr);
    }
}

int findEgg(int N, vector<pair<int, int>> bridges)
{
    o.clear();
    g.clear();
    g.resize(N + 1);
    for(auto x : bridges){
        g[x.first].emplace_back(x.second);
        g[x.second].emplace_back(x.first);
    }
    dfs(1,0);
    int l = 0, r = N - 1;
    while(l < r){
        int mid = (r - l) / 2 + l;
        vector<int> ask;
        for(int i = 0; i <= mid; i++){
            ask.emplace_back(o[i]);
        }
        if(query(ask)){
            r = mid;
        }
        else{
            l = mid + 1;
        }
    }
    return o[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...