Submission #1240514

#TimeUsernameProblemLanguageResultExecution timeMemory
1240514denislavEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
1084 ms460 KiB
# include <bits/stdc++.h>
# include "grader.h"
//# include "grader.cpp"
using namespace std;

const int MAX=612;

int n;
vector<int> adj[MAX];

int ct;
int id[MAX];
int order[MAX];

void dfs(int curr, int par)
{
    ct++;
    id[curr]=ct;
    order[ct]=curr;

    for(int nxt: adj[curr])
    {
        if(nxt==par) continue;
        dfs(nxt,curr);
    }
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
    n=N;
    for(pair<int,int> pa: bridges)
    {
        int u=pa.first,v=pa.second;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    dfs(1,0);

    int l=1,r=n,ans=1;
    while(l<r)
    {
        int mid=(l+r)/2;
        vector<int> v;
        for(int i=l;i<=mid;i++) v.push_back(order[i]);
        if(query(v))
        {
            ans=mid;
            r=mid;
        }
        else
        {
            ans=mid+1;
            l=mid+1;
        }
    }

    return order[ans];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...