제출 #1327692

#제출 시각아이디문제언어결과실행 시간메모리
1327692aren_dance악어의 지하 도시 (IOI11_crocodile)C++20
89 / 100
2095 ms39848 KiB
#include "crocodile.h"
#include <bits/stdc++.h>
using namespace std;
vector<vector<pair<int,int>>> adj(1e5);
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
    int n=N;
    int m=M;
    for(int i=0;i<m;++i){
        adj[R[i][0]].push_back({R[i][1],L[i]});
        adj[R[i][1]].push_back({R[i][0],L[i]});
    }
    vector<bool> h(n,0);
    for(int i=0;i<K;++i){
        h[P[i]]=1;
    }
    vector<int> s(n,1e9);
    for (int i = 1;i <= 3*n;++i) {
    for (int j = 0;j < n;++j) {
        if (h[j] == 1) {
            s[j]=0;
        }
        int mn = 1e9;
        int mn2 = 1e9;
        for (auto k : adj[j]) {
            if((s[k.first]+k.second)<=mn){
                mn2=mn;
                mn = s[k.first]+k.second;
            }
            else if((s[k.first]+k.second)<=mn2){
                mn2=s[k.first]+k.second;
            }
        }
        s[j]=min(mn2,s[j]);
    }
}
return s[0];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...