Submission #580009

#TimeUsernameProblemLanguageResultExecution timeMemory
580009sofapudenCrocodile's Underground City (IOI11_crocodile)C++14
100 / 100
981 ms62984 KiB
#include "crocodile.h"
#include <bits/stdc++.h>

using namespace std;

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){
	vector<int> vis(N,0);
	vector<int> val(N,0);
	priority_queue<pair<int,int>, vector<pair<int,int>>, greater<pair<int,int>>> pq;
	vector<vector<int>> gr(N);
	for(int i = 0; i < K; ++i){
		pq.push({0,P[i]});
		vis[P[i]] = 1;
	}
	for(int i = 0; i < M; ++i){
		gr[R[i][0]].push_back(i);
		gr[R[i][1]].push_back(i);
	}
	while(pq.size()){
		auto x = pq.top();
		pq.pop();
		if(vis[x.second]++ == 1){
			val[x.second] = x.first;
			for(auto y : gr[x.second]){
				pq.push({L[y]+x.first,R[y][0]^R[y][1]^x.second});
			}
		}
	}
	return val[0];
}


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