Pagini recente » Cod sursa (job #660422) | Cod sursa (job #1673430) | Cod sursa (job #2910733) | Cod sursa (job #4388) | Cod sursa (job #3142042)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n, x, y, i, id;
int d[100002], r[100002];
vector<int> a[100002];
static inline void parc(int x, int u, int v[]) {
v[x] = 1 + v[u];
for(auto it : a[x]) {
if(v[it] == 0) parc(it, x, v);
}
}
static inline int maxi(int v[]) {
int r = 1;
for(int i = 2; i <= n; i++) {
if(v[i] > v[r]) r = i;
}
return r;
}
int main() {
fin >> n;
for(i = 1; i < n; i++) {
fin >> x >> y;
a[x].push_back(y);
a[y].push_back(x);
}
parc(1, 0, d);
id = maxi(d);
parc(id, 0, r);
fout << r[maxi(r)];
return 0;
}