Submission #1283447

#TimeUsernameProblemLanguageResultExecution timeMemory
1283447nathlol2Easter Eggs (info1cup17_eastereggs)C++20
100 / 100
9 ms680 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<int> g[1000], t;
void dfs(int u, int p){
    t.push_back(u);
    for(auto v : g[u]) if(v != p) dfs(v, u);
}
int findEgg (int N, vector < pair < int, int > > e){
    for(int i = 0;i<1000;i++) g[i].clear();
    for(auto [u, v] : e){
        g[u].push_back(v);
        g[v].push_back(u);
    }
    dfs(1, -1);
    int l = 1, r = N, ans = -1;
    while(l <= r){
        if(l == N) return t[N - 1];
        int md = (l + r) / 2;
        vector<int> tmp;
        for(int i = 0;i<md;i++) tmp.push_back(t[i]);
        if(query(tmp)){
            ans = md;
            r = md - 1;
        }else{
            l = md + 1;
        }
    }
    return t[ans - 1];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...