#include "cyberland.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector<ll>;
using ld = long double;
double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) {
    
    vector<vector<pair<ll,ll>>> adj(N+1);
    for(int i = 0; i < M; i++){
        ll a = x[i];
        ll b = y[i];
        ll w = c[i];
        adj[a].push_back({b,w});
        adj[b].push_back({a,w});
    }
    // 8 points is just straight up bfs 
    
    vector<bool> vis(N+1,0);
    queue<pair<ll,ll>> q;
    q.push({0,0});
    vis[0] = 1;
    while(!q.empty()){
        pair<ll,ll> temp = q.front();
        q.pop();
        ll at = temp.first;
        ll curDist = temp.second;
        for(pair<ll,ll> x : adj[at]){
            if(vis[x.first]) continue;
            vis[x.first] = 1;
            if(x.first == H){
                return curDist + x.second;
            }
            q.push({x.first, x.second + curDist});
        }
    }
    
    return -1;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |