Submission #1291474

#TimeUsernameProblemLanguageResultExecution timeMemory
1291474noobsolver24Easter Eggs (info1cup17_eastereggs)C++20
87 / 100
8 ms508 KiB
#include <bits/stdc++.h>
#include "grader.h"
// #define int long long
using namespace std;

const int MAX = 1e3 + 5, mod = 998244353;

vector<int> g[MAX];
vector<int> ord;

void dfs(int node, int p){
    ord.push_back(node);
    for (auto to : g[node]) {
        if (to == p) continue;
        dfs(to, node);
    }
}

int findEgg (int n, vector < pair < int, int > > bridges)
{
    ord.clear();
    for (int i = 1; i <= n; i++) g[i].clear();
    for (auto [x, y] : bridges) {
        g[x].push_back(y);
        g[y].push_back(x);
    }
    dfs(1, 1);
    int l = 0, r = n - 1, best;
    while (l <= r) {
        int mid = (l + r) >> 1;
        vector<int> v;
        for (int i = 0; i <= mid; i++) {
            v.push_back(ord[i]);
        }
        if (query(v)) {
            best = ord[mid];
            r = mid - 1;
        } else l = mid + 1;
    }
    return best;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...