제출 #159232

#제출 시각아이디문제언어결과실행 시간메모리
159232sofhiasouzaEvacuation plan (IZhO18_plan)C++14
10 / 100
4045 ms15976 KiB
#include <bits/stdc++.h>
#define pb push_back
#define int long long
using namespace std;
typedef pair < int, int > ii;

const int maxn = 1e5+10, maxm = 5e5+10;

int n, m, q, k;

bool npp[maxn], vist[maxn];

vector < ii > grafo[maxn];

int bfs(int x)
{
	priority_queue < ii, vector < ii >, greater < ii > > fila;

	fila.push({0, x});

	while(fila.size())
	{
		ii aux = fila.top();
		fila.pop();

		int u = aux.second;
		int val = aux.first;

		vist[u] = 1;

		if(npp[u]) return val;

		for(ii y : grafo[u])
		{
			int v = y.first;
			int cst = y.second;

			if(vist[v]) continue;
			
			fila.push({val+cst, v});
		}
	}
}

int32_t main()
{
	cin >> n >> m;

	memset(npp, false, sizeof npp);

	for(int i = 1 ; i <= m ; i++)
	{
		int a, b, c;
		cin >> a >> b >> c;
	
		grafo[a].pb({b, c});
		grafo[b].pb({a, c});
	}

	cin >> k;

	for(int i = 1 ; i <= k ; i++)
	{
		int a;
		cin >> a;
		npp[a] = true;
	}

	cin >> q;

	for(int i = 1 ; i <= q ; i++)
	{
		int s, t;
		cin >> s >> t;

		memset(vist, false, sizeof vist);

		int a = bfs(s);

		memset(vist, false, sizeof vist);

		int b = bfs(t);

		cout << min(a, b) << "\n";
	}
}

컴파일 시 표준 에러 (stderr) 메시지

plan.cpp: In function 'long long int bfs(long long int)':
plan.cpp:43:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#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...