이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "crocodile.h"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx,avx2,bmi,bmi2,popcnt,lzcnt")
using namespace std;
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
vector<pair<int, int>> g[N];
for(int i = 0;i < M;i++){
g[R[i][0]].emplace_back(R[i][1], L[i]);
g[R[i][1]].emplace_back(R[i][0], L[i]);
}
long long dp[N];
for(int i = 0;i < N;i++) dp[i] = LONG_LONG_MAX;
for(int i = 0;i < K;i++) dp[P[i]] = 0;
for(int _ = 0;_ < N+2;_++){
for(int i = 0;i < N;i++){
long long m = LONG_LONG_MAX, s = LONG_LONG_MAX;
for(auto [to, c] : g[i]){
if(dp[to] == LONG_LONG_MAX) continue;
if(dp[to]+c <= m) {
s = m;
m = dp[to]+c;
} else if(dp[to]+c < s){
s = dp[to]+c;
}
}
dp[i] = min(dp[i], s);
}
}
return dp[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... |