Submission #389240

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3892402021-04-14 01:34:41syl123456Easter Eggs (info1cup17_eastereggs)C++17
100 / 100
17 ms584 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<vector<int>> g, pa;
vector<int> dep, ord;
void dfs(int i, int p) {
pa[i][0] = p;
ord.push_back(i);
dep[i] = dep[p] + 1;
for (int j : g[i]) if (j != p)
dfs(j, i);
}
int lca(int i, int j) {
if (dep[i] < dep[j]) swap(i, j);
for (int ii = 9; ~ii; --ii) if (dep[pa[i][ii]] >= dep[j])
i = pa[i][ii];
for (int ii = 9; ~ii; --ii) if (pa[i][ii] != pa[j][ii])
i = pa[i][ii], j = pa[j][ii];
return i == j ? i : pa[i][0];
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
g.assign(N, vector<int>()), pa.assign(N, vector<int>(10));
dep.resize(N), dep[0] = -1;
for (auto i : bridges) {
int x = i.first - 1, y = i.second - 1;
g[x].push_back(y), g[y].push_back(x);
}
dfs(0, 0);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:35:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   35 |         int m = l + r >> 1, x = ord[l];
      |                 ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...