Submission #1029640

#TimeUsernameProblemLanguageResultExecution timeMemory
1029640coolboy19521Easter Eggs (info1cup17_eastereggs)C++17
100 / 100
11 ms600 KiB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

const int sz = 600;

vector<int> aj[sz];
vector<int> pt;

void dfs(int v, int p = -1) {
    pt.push_back(v);
    for (int u : aj[v]) if (u != p)
        dfs(u, v);
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
    for (int i = 1; i <= N; i ++)
        aj[i].clear();

    pt.clear();

    for (auto& [v, u] : bridges) {
        aj[v].push_back(u);
        aj[u].push_back(v);
    }

    dfs(1);

    int le = 0, ri = N - 1;
    int r;

    while (ri != le) {
        int mi = (le + ri + 1) / 2;
        r = query(vector<int>(pt.begin(), pt.begin() + mi));
        if (r) ri = mi - 1;
        else le = mi;
    }

    return pt[le];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...