# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1220380 | theiulius | Easter Eggs (info1cup17_eastereggs) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<int> v[520];
vector<int> vec;
void dfs(int x){
vis[x] = 1;
vec.pb(x);
for (auto h : v[x]){
if (!vis[h]){
dfs(h);
}
}
}
int findEgg (int N, vector < pair < int, int > > bridges){
for (auto h : bridges){
v[h.ss - 1].pb(h.ff - 1);
}
dfs(0);
int l = 0, r = n - 1, ans = n - 1;
while (l <= r){
int mid = (l + r) / 2;
vector<int> vec1;
for (int i = 0; i < mid; i++){
vec1.pb(vec[i]);
}
bool b = query(vec1);
if (b){
r = mid - 1;
ans = mid;
}else{
l = mid + 1;
}
}
cout << ans + 1 << endl;
return ;
}