답안 #753889

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
753889 2023-06-06T09:24:37 Z Xiaoyang Easter Eggs (info1cup17_eastereggs) C++17
0 / 100
4 ms 592 KB
#include<bits/stdc++.h>
using namespace std;
 
#define fi first
#define se second
#define pii pair<int,int>
#define pll pair<long long,long long>
#define pb push_back
#define debug(x) cerr<<#x<<"="<<x<<endl
#define pq priority_queue
#define inf 1ll<<60
#define rep(i,a,b) for (int i=a;i<(b);i++)
#define MP make_pair
#define SZ(x) (int(x.size()))
#define ll long long
#define mod 1000000007
#define ALL(x) x.begin(),x.end()
#define endl "\n"
void inc(ll &a,ll b) {a=(a+b)%mod;}
void dec(ll &a,ll b) {a=(a-b+mod)%mod;}
int lowbit(ll x) {return x&(-x);}
ll p0w(ll base,ll p) {ll ret=1;while(p>0){if (p%2ll==1ll) ret=ret*base%mod;base=base*base%mod;p/=2ll;}return ret;}
#include "grader.h"

vector<int>edge[513],id;
void dfs(ll u, ll fa){
	id.pb(u);
	for(auto x:edge[u]){
		if(x==fa)continue;
		dfs(x,u);
	}
}

int findEgg (int n, vector < pair < int, int > > bridges){
    rep(i,0,n+1)edge[i].clear();
    rep(i,0,n-1){
		edge[bridges[i].fi].pb(bridges[i].se);
		edge[bridges[i].se].pb(bridges[i].fi);
	}
    id.clear();
    dfs(1,-1);
    ll lo=0,hi=n-1;
    while(lo<hi){
		ll mid=lo+hi+1>>1;
		vector<int>left;
		rep(i,lo,mid)left.pb(id[i]);
		if(query(left))hi=mid-1;
		else lo=mid;
	}
	return id[lo];
    
	
}	

Compilation message

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:44:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   44 |   ll mid=lo+hi+1>>1;
      |          ~~~~~^~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Number of queries: 4
2 Runtime error 1 ms 464 KB Execution killed with signal 6
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 464 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 4 ms 592 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -