Submission #751022

#TimeUsernameProblemLanguageResultExecution timeMemory
751022RejepCyberland (APIO23_cyberland)C++17
15 / 100
3050 ms7112 KiB
#include "cyberland.h"



#include<bits/stdc++.h>

#define db double

#define pb push_back

using namespace std;

const db INF=1e18+1;





double solve(int n, int m, int k, int h, vector<int> x, vector<int> y, vector<int> c, vector<int> arr) {

	vector<vector<pair<int,db>>>g(n);

	for (int i=0; i<m; i++){

		g[x[i]].pb({y[i],c[i]});

		g[y[i]].pb({x[i],c[i]});

	}

 

	vector<db> d (n, INF),  p (n);

	d[0] = 0;

	vector<bool> u (n, 0);

	for (int i=0; i<n; ++i) {

		int v = -1;

		for (int j=0; j<n; ++j)

			if (!u[j] && (v == -1 || d[j] < d[v]))

				v = j;

		if (d[v] == INF)

			break;

		u[v] = true;

 

		for (size_t j=0; j<g[v].size(); ++j) {

			int to = g[v][j].first,

				len = g[v][j].second;

			if (d[v] + len < d[to]) {

				d[to] = d[v] + len;

				p[to] = v;

			}

		}

	}

	

	if (d[h]==INF)return -1;

	else return d[h];

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...