Submission #228833

#TimeUsernameProblemLanguageResultExecution timeMemory
228833staniewzki악어의 지하 도시 (IOI11_crocodile)C++17
100 / 100
640 ms54884 KiB
#include<bits/stdc++.h>
using namespace std;
 
#include "crocodile.h"

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) {
	vector<vector<pair<int, int>>> adj(N);
	for(int i = 0; i < M; i++) {
		int u = R[i][0], v = R[i][1];
		adj[u].emplace_back(v, L[i]);
		adj[v].emplace_back(u, L[i]);
	}

	vector<int> vis(N);
	priority_queue<pair<int, int>> Q;
	for(int i = 0; i < K; i++) {
		vis[P[i]]++;
		Q.emplace(0, P[i]);
	}

	while(!Q.empty()) {
		auto [d, v] = Q.top();
		Q.pop();
		if(vis[v]++ == 1) {
			if(v == 0) return -d;
			for(auto &[u, w] : adj[v])
				Q.emplace(d - w, u);
		}
	} 
}

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:30: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...