Submission #443718

#TimeUsernameProblemLanguageResultExecution timeMemory
443718chicken337Easter Eggs (info1cup17_eastereggs)C++14
100 / 100
20 ms448 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;

vector<int> adjlist[513], ord;

void dfs(int x = 1, int par = 0){
    ord.push_back(x);
    for(int nxt : adjlist[x])
        if(nxt != par) dfs(nxt, x);
}
int findEgg(int N, vector<pair<int, int>> bridges){
    for(int i = 1; i <= N; i ++)
        adjlist[i].clear();
    ord.clear();
    for(pair<int, int> it : bridges){
        adjlist[it.first].push_back(it.second);
        adjlist[it.second].push_back(it.first);
    }
    dfs();
    int l = 0, r = N-1;
    while(l != r){
        int m = (l + r + 1) >> 1;
        if(query(vector<int>(ord.begin(), ord.begin()+m)))
            r = m-1;
        else l = m;
    }
    return ord[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...