#include "cyberland.h"
#include <bits/stdc++.h>
using namespace std;
const long long inf=1e18;
double solve(int N, int M, int K, int H, vector<int> x, vector<int> y, vector<int> c, vector<int> arr) {
    vector <pair<int,int> > v[N];
	for (int i=0; i<M; i++){
    	v[x[i]].push_back({y[i],c[i]});
    	v[y[i]].push_back({x[i],c[i]});
	}
	arr[0]=0; set <pair<int,int>> s;
	long long d[N];
    for (int i=0; i<N; i++){
    	assert(arr[i]!=2);
    	if (arr[i]==0){
    		d[i]=0; s.insert({0,i});
		}
		else d[i]=inf;
	}
	while (!s.empty()){
		int x=s.begin()->second; s.erase(s.begin());
		for (auto i:v[x]){
			if (d[i.first]>d[x]+i.second){
				s.erase({d[i.first],i.first});
				d[i.first]=d[x]+i.second;
				s.insert({d[i.first],i.first});
			}
		}
	}
	return d[H];
}
| # | 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... |