#include <bits/stdc++.h>
#include "grader.h"
#define ll long long
using namespace std;
const ll sz=600;
ll used[sz];
vector<ll>g[sz], vec;
void dfs(ll u)
{
vec.push_back(u);
used[u]=1;
for(auto v:g[u]){
if(!used[v]){
dfs(v);
}
}
}
int findEgg (int N, vector < pair < int, int > > br)
{
/*
if (query ({1})) return 1;
return N;*/
for(auto i:br){
ll u=i.first;
ll v=i.second;
g[u].push_back(v);
g[v].push_back(u);
}
dfs(1);
ll l=0, r=N-1;
while(l<r){
ll mid=(l+r)/2;
vector<int>cur;
for(int i=0; i<=mid; i++){
cur.push_back(vec[i]);
}
int q=query(cur);
if(q==1){
r=mid;
}
else{
l=mid+1;
}
}
return vec[l];
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
452 KB |
Number of queries: 4 |
2 |
Correct |
1 ms |
456 KB |
Number of queries: 4 |
3 |
Correct |
1 ms |
448 KB |
Number of queries: 4 |
4 |
Correct |
1 ms |
456 KB |
Number of queries: 4 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
996 KB |
Number of queries: 8 |
2 |
Correct |
8 ms |
764 KB |
Number of queries: 9 |
3 |
Correct |
13 ms |
1420 KB |
Number of queries: 9 |
4 |
Correct |
10 ms |
1244 KB |
Number of queries: 9 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
12 ms |
1044 KB |
Number of queries: 9 |
2 |
Correct |
9 ms |
1076 KB |
Number of queries: 9 |
3 |
Correct |
10 ms |
1760 KB |
Number of queries: 9 |
4 |
Correct |
10 ms |
1040 KB |
Number of queries: 9 |