Submission #984735

# Submission time Handle Problem Language Result Execution time Memory
984735 2024-05-17T03:55:34 Z Jawad_Akbar_JJ Cyberland (APIO23_cyberland) C++17
0 / 100
25 ms 10584 KB
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>

using namespace std;
#define ll long long
const int N = (1<<18) + 1;
ll Mn[N];
vector<pair<int,int>> nei[N];

void dijkstra(int s,int n){
	for (int i=1;i<=n;i++)
		if (i != s)
			Mn[i] = 1e17;

	set<pair<ll,int>> S;
	S.insert({0,s});

	while (S.size() > 0){
		int u = (*begin(S)).second;
		S.erase(begin(S));
		for (auto [i,w] : nei[u])
			if (Mn[i] > Mn[u] + w){
				S.erase({Mn[i],i});
				Mn[i] = Mn[u] + w;
				S.insert({Mn[i],i}); 
			}
	}
}

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){
	for (int i=0;i<m;i++){
		nei[x[i] + 1].push_back({y[i] + 1,c[i]});
		nei[y[i] + 1].push_back({x[i] + 1,c[i]});
	}
	arr[0] = 0;

	dijkstra(h,n);

	for (int i=1;i<=n;i++)
		nei[i].clear();

	double ans = -1;

	for (int i=0;i<n;i++)
		if (arr[i] == 0 and (ans == -1 or Mn[i+1] < ans))
			ans = Mn[i+1];
	return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 20 ms 6932 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 20 ms 6744 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 23 ms 6844 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 25 ms 10584 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 17 ms 6748 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 18 ms 7092 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 16 ms 6748 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 16 ms 6748 KB Wrong Answer.
2 Halted 0 ms 0 KB -