Submission #419995

#TimeUsernameProblemLanguageResultExecution timeMemory
419995Runtime_error_Easter Eggs (info1cup17_eastereggs)C++14
100 / 100
21 ms472 KiB
#include <bits/stdc++.h>
#include "grader.h"
#define pb push_back
using namespace std;
const int inf = 1e3+9;

vector<int> DfsOrder,adj[inf];

void dfs(int u,int p){
    DfsOrder.pb(u);
    for(auto v:adj[u])
        if(v != p)
            dfs(v,u);
}

int findEgg (int n, vector < pair < int, int > > bridges)
{
    for(int i=1;i<=n;i++)
        adj[i].clear();
    DfsOrder.clear();
    for(auto o:bridges)
        adj[o.first].pb(o.second),
        adj[o.second].pb(o.first);

    dfs(1,-1);
    int l = 0,r = n-1;
    while(r!=l){
        int mid = (l+r)/2;
        if(query(vector<int>(DfsOrder.begin(),DfsOrder.begin()+mid+1)))
            r = mid;
        else
            l = mid+1;
    }
    return DfsOrder[l];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...