답안 #64682

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
64682 2018-08-05T11:31:13 Z zetapi 악어의 지하 도시 (IOI11_crocodile) C++14
0 / 100
28 ms 23800 KB
//#include <crocodile.h>

#include <bits/stdc++.h>
using namespace std;

#define pb  push_back
#define mp  make_pair
#define ll 	long long
#define itr ::iterator 

typedef pair<ll,ll>  pii;

const ll MAX=1e6;
const ll INF=1e14;

vector<pii> vec[MAX];

ll mark[MAX],dp[MAX];

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{	
	for(int A=0;A<M;A++)
	{
		vec[R[A][0]].pb(mp(R[A][1],L[A]));
		vec[R[A][1]].pb(mp(R[A][0],L[A]));
	}
	for(int A=0;A<N;A++)
		dp[A]=-1;
	priority_queue<pii,vector<pii>,greater<pii>> pq;
	for(int A=0;A<K;A++)
	{
		dp[P[A]]=0;
		pq.push(mp(0,P[A]));
	}
	while(!pq.empty())
	{
		pii cur=pq.top();
		pq.pop();
		if(cur.first>dp[cur.second] and dp[cur.second]>0)
			continue;
		for(auto A:vec[cur.second])
		{
			if(dp[A.first]==-1)
				dp[A.first]=INF;
			else if(A.second+cur.first<dp[A.first])
			{
				dp[A.first]=A.second+cur.first;
				pq.push(mp(dp[A.first],A.first));
			}
		}
	}
	return dp[0];
}

/*signed main()
{
	ios_base::sync_with_stdio(false);

	
	return 0;
}*/
# 결과 실행 시간 메모리 Grader output
1 Incorrect 28 ms 23800 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 28 ms 23800 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 28 ms 23800 KB Output isn't correct
2 Halted 0 ms 0 KB -