#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; int main() { int t; cin>>t; int n, m; cin>>n>>m; vector

g[2020]; int u[2020], v[2020]; ll w[2020]; for(int i=0; i>u[i]>>v[i]>>w[i];u[i]--;v[i]--; g[u[i]].push_back({w[i], v[i]}); if(t==0){ g[v[i]].push_back({w[i], u[i]}); } } ll d[2020]; const ll INF=1e18; ll ans=INF; for(int k=0; k, greater

> que; que.push({0, i}); while(!que.empty()){ P p=que.top(); que.pop(); int x=p.second; if(d[x]d[x]+q.first){ d[y]=d[x]+q.first; que.push({d[y], y}); } } } ans=min(ans, w[k]+d[u[k]]); } if(ans==INF) cout<<-1<