Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <vector>#include <queue>#include <set>using namespace std;int solution(vector<int> &vect, int i, int j) {vector<int> v1 = { i };vector<int> v2 = { j };while (j > 0 && vect[j] != -1) {j = vect[j];v2.push_back(j);}while (i > 0 && vect[i] != -1) {i = vect[i];v1.push_back(i);}int p2 = v2.size() - 1;int p1 = v1.size() - 1;int p;while (p1 >= 0 && p2 >= 0 && v1[p1] == v2[p2]) {p = v1[p1];p1--;p2--;}return p;}bool inter(vector<int> &v, int s, int t, int p1, int p2) {if (p2 == p1)