Submission #1353339

#TimeUsernameProblemLanguageResultExecution timeMemory
1353339nataliaaEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
1 ms496 KiB
#include <bits/stdc++.h>
#include "grader.h"
#define ff first
#define sc second
using namespace std;
vector<int> ok;
vector<int> v[515];
int vis[515];
void dfs(int u){
    vis[u] = 1;
    ok.push_back(u);
    for(auto i : v[u]){
        if(vis[i]==0) dfs(i);
    }
}
int findEgg (int n, vector < pair < int, int > > v1){
    ok.clear();
    for(int i = 0; i<=514; i++){vis[i] = 0; v[i].clear();}
    for(int i = 0; i < n-1; i++) {
        int x = v1[i].ff, y = v1[i].sc;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    ok.push_back(-1);
    dfs(1);
    int l = 1, r = n-1;
    int x = n;
    while(l<=r){
        vector<int>ans ;
        int m = (l+r)/2;
        for(int i  = l; i <= m; i++) ans.push_back(ok[i]);
        if(query(ans)) {r = m-1; x = m;}
        else l = m+1;
    }
    return ok[x];
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...