Guest User

Untitled

a guest
Jul 16th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cstring>
  4. using namespace std;
  5. int n;
  6. vector<pair<int, int>> v[10001];
  7. bool vi[10001];
  8. int mp1=0,mp2 = 0;
  9. void chk1(int idx,int pidx) {
  10. vi[idx] = true;
  11. for (int i = 0; i < v[idx].size(); i++) {
  12. if (!vi[v[idx][i].first]) {
  13. chk1(v[idx][i].first,v[idx][i].second+pidx);
  14. if (v[idx][i].second + pidx > mp1) {
  15. mp1 = v[idx][i].second + pidx;
  16. mp2 = v[idx][i].first;
  17. }
  18. }
  19. }
  20. }
  21. int main() {
  22. scanf("%d", &n);
  23. int max_dep = 0;
  24. for (int i = 0; i < n - 1; i++) {
  25. int a, b, c;
  26. scanf("%d%d%d", &a, &b, &c);
  27. v[a].push_back(make_pair(b, c));
  28. v[b].push_back(make_pair(a, c));
  29. }
  30. chk1(1, 0);
  31. memset(vi, 0, sizeof(vi));
  32. chk1(mp2, 0);
  33. printf("%d\n", mp1);
  34. return 0;
  35. }
Add Comment
Please, Sign In to add comment