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;
}