이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "crocodile.h"
#include <bits/stdc++.h>
using namespace std;
vector < pair < int, int > > gr[1111];
long long dist[1111];
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
for(int i = 0; i < M; i ++ ){
gr[R[i][0]].push_back({L[i], R[i][1]});
gr[R[i][1]].push_back({L[i], R[i][0]});
}
for( int i = 0; i < N; i ++ ){
dist[i] = 2e9;
}
for( int i = 0; i < K; i ++ ){
dist[P[i]] = 0;
}
for( int j = 0; j < N; j ++ ){
for( int i = 0; i < N; i ++ ){
long long min1 = 2e9, min2 = 2e9;
for( auto edge: gr[i] ){
int cost = edge.first, to = edge.second;
if(dist[to]+cost<min1){
min2 = min1;
min1 = dist[to] + cost;
}
else if( dist[to]+cost<min2){
min2 = dist[to] + cost;
}
}
//cout << "--> " << j << " : " << i << ' ' << min1 << ' ' << min2<<endl;
dist[i] = min(dist[i], min2);
}
}
/*
for( int i = 0; i < N; i ++ ){
cout << i << ' ' << dist[i] << endl;
}*/
return dist[0];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |