# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
918095 | 2024-01-29T13:08:05 Z | raul2008487 | Easter Eggs (info1cup17_eastereggs) | C++17 | 9 ms | 10052 KB |
#include <bits/stdc++.h> #include "grader.h" #define ll int #define vl vector<ll> #define fi first #define se second #define pb push_back using namespace std; const int sz = 2e5+5; vl adj[sz]; vl et; void dfs(ll node, ll p){ et.pb(node); for(auto edge: adj[node]){ if(edge == p){continue;} dfs(edge, node); } } int findEgg (int N, vector < pair < int, int > > bridges) { ll i, j; for(i=0;i<sz;i++){ adj[i].clear(); } et.clear(); et.pb(-1); for(i=0;i<bridges.size();i++){ adj[bridges[i].fi].push_back(bridges[i].se); adj[bridges[i].se].push_back(bridges[i].fi); } dfs(1, 0); ll lo = 1, hi = N, mid, best = 0; while(lo <= hi){ mid = (lo + hi) >> 1; vl t; for(i = lo; i<=mid; i++){ t.pb(et[i]); } if(query(t)){ best = et[mid]; hi = mid - 1; } else{ lo = mid + 1; } } return best; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Partially correct | 4 ms | 4952 KB | Number of queries: 5 |
2 | Runtime error | 6 ms | 10000 KB | Execution killed with signal 6 |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 6 ms | 10020 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 9 ms | 10052 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |