fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. bool odw[1000003];
  4. int parad[1000003];
  5. vector<vector<int>> vec;
  6. int maxwyn=0;
  7. int max_dfs(int n)
  8. {
  9. odw[n]=1;
  10. int maks1=0;
  11. int maks2=0;
  12. for(auto a:vec[n])
  13. {
  14. if(odw[a]==1)
  15. continue;
  16. int xd=max_dfs(a);
  17. if(maks1<=xd)
  18. {
  19. maks2=maks1;
  20. maks1=xd;
  21. }
  22. else if(maks1>xd and xd>maks2)
  23. {
  24. maks2=xd;
  25. }
  26. }
  27. int jajko = maks2+maks1-2+vec[n].size();
  28. maxwyn=max(maxwyn, jajko );
  29. return (maks1-2+vec[n].size());
  30. }
  31. int main()
  32. {
  33. int n,k;cin>>n>>k;
  34. vec.resize(n+1);
  35. for(int i=0;i<n-1;i++)
  36. {
  37. int a,b;cin>>a>>b;
  38. vec[a].push_back(b);
  39. vec[b].push_back(a);
  40. }
  41. max_dfs(1);
  42. cout<<maxwyn;
  43. }
Success #stdin #stdout 0s 5300KB
stdin
8
1 2
2 3
4 2
5 2
6 5
5 7
7 8
stdout
Standard output is empty