# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
486350 | NintsiChkhaidze | Easter Eggs (info1cup17_eastereggs) | C++14 | 18 ms | 448 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "grader.h"
#define pb push_back
using namespace std;
vector <int> v[525];
int in[525],cnt;
void dfs(int x,int par){
in[++cnt] = x;
for (int j=0;j<v[x].size();j++){
int to = v[x][j];
if (to == par) continue;
dfs(to,x);
}
}
int findEgg (int n, vector < pair < int, int > > vec){
for (int i=0;i<vec.size();i++){
int a = vec[i].first,b = vec[i].second;
v[a].pb(b),v[b].pb(a);
}
cnt=0;
dfs(1,1);
int l = 1,r = n,ANS=0;
while(l <= r){
int mid = (l+r)>>1;
if (mid == n){
ANS = in[n];
r = n - 1;
continue;
}
vector <int> q; q.clear();
for (int i = 1; i <= mid; i++)
q.pb(in[i]);
bool check = query(q);
if (check) {
ANS = in[mid];
r = mid - 1;
}
else l = mid + 1;
}
for (int i=1;i<=n;i++)
v[i].clear(),in[i]=0;
return ANS;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |