Submission

Status:
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP

Score: 100

User: Ecir

Problemset: Sirabyrinth 6

Language: cpp

Time: 0.008 second

Submitted On: 2025-03-06 13:31:15

#include <bits/stdc++.h>
using namespace std;
using ll=long long int;
#define twod array<ll,2>
vector<twod> node[20009];
int n,s;ll anw=INT_MAX;
bool vis[20009];
ll dis=0;
void walk(int u,ll w,int pa){
  dis=max(dis,w);
  for(auto e:node[u]){
    auto v=e[0],l=e[1];
    if(v!=pa) walk(v,w+l,u);
  }
  return;
}
int main(){
  ios::sync_with_stdio(0);cin.tie(0);
  cin >> n >> s;
  ll sum=0;
  for(int i=1;i<n;i++){
    int u,v,w;cin >> u >> v >> w;
    node[u].push_back({v,w});
    node[v].push_back({u,w});
    sum+=w;
  }
  sum*=2;
  walk(s,0,-1);
  sum-=dis;
  cout << sum;
  return 0;
}