Submission #1164788

#TimeUsernameProblemLanguageResultExecution timeMemory
1164788ThanhsEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
115 ms196608 KiB
#include "grader.h"
#include <bits/stdc++.h>
using namespace std;

#define name "TENBAI"
#define fi first
#define se second
#define endl '\n'
#define setmin(x, y) x = min((x), (y))
#define setmax(x, y) x = max((x), (y))
#define sqr(x) ((x) * (x))

mt19937 hdp(chrono::high_resolution_clock::now().time_since_epoch().count());
int rand(int l, int r){return l + ((hdp() % (r - l + 1)) + r - l + 1) % (r - l + 1);}

const int NM = 512 + 5;

vector<int> g[NM];
int timer = 0;
vector<int> eu;

void dfs(int u, int p)
{
    eu.push_back(u);
    for (int v : g[u])
        if (v != p)
            dfs(v, p);
}

int findEgg(int n, vector<pair<int, int>> e)
{
    for (int i = 1; i <= n; i++)
        g[i].clear();
    eu.clear();
    for (auto t : e)
    {
        g[t.fi].push_back(t.se);
        g[t.se].push_back(t.fi);
    }
    dfs(1 ,0);
    int l = 0, r = n;
    while (l < r - 1)
    {
        int m = l + r >> 1;
        (query(vector<int>(eu.begin(), eu.begin() + m)) ? r : l) = m;
    }
    return eu[r - 1];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...