# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
666666 | 2022-11-29T09:13:23 Z | divad | Easter Eggs (info1cup17_eastereggs) | C++14 | 1 ms | 464 KB |
#include <cstring> #include <vector> #include <deque> #include "grader.h" #define MAX 522 using namespace std; int vf[MAX]; vector<int> v[MAX]; vector<int> bfs(int N, vector< pair<int, int> > bridges){ memset(vf, 0, sizeof(vf)); for(int i = 0; i < MAX; i++){ v[i].clear(); } for(auto [x, y]: bridges){ v[x].push_back(y); v[y].push_back(x); } deque<int> coada; vf[1] = 1; int maxi = 0; coada.push_back(1); while(!coada.empty()){ int nod = coada.back(); for(auto vecin: v[nod]){ if(vf[vecin] == 0){ vf[vecin] = 1+vf[nod]; maxi = max(maxi, vf[vecin]); coada.push_front(vecin); } } coada.pop_back(); } vector<int> ans; for(int i = 1; i <= maxi; i++){ for(int j = 0; j <= N; j++){ if(vf[j] == i){ ans.push_back(i); } } } return ans; } int findEgg(int N, vector< pair<int, int> > bridges){ vector<int> parcurgere = bfs(N, bridges); /// 0 0 0 0 1 1 1 1 /// ^ int st = 0, dr = parcurgere.size()-1; int ans = 0; while(st <= dr){ int mid = (st+dr)/2; vector<int> partit; for(int i = 0; i <= mid; i++){ partit.push_back(parcurgere[i]); } if(query(partit)){ ans = mid; dr = mid-1; }else{ st = mid+1; } } return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 444 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 464 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 464 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |