Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;const int maxn = 200010;struct edge{int adj, next;} r[maxn];int g[maxn], tot;void ins(int a, int b){r[++tot].adj = b;r[tot].next = g[a];g[a] = tot;}int n, s;int d[maxn];void init(){scanf("%d%d", &n, &s);memset(g, 255, sizeof(g));tot = -1;for (int i = 1; i < n; ++i){int a, b;