제출 #1343274

#제출 시각아이디문제언어결과실행 시간메모리
1343274PakinDioxide악어의 지하 도시 (IOI11_crocodile)C++17
46 / 100
2 ms3140 KiB
#include "crocodile.h"
#include <bits/stdc++.h>
#define ll long long

using namespace std;

const int mxN = 1e5+5;

int vis[mxN], ext[mxN];
vector <pair <int, ll>> adj[mxN];

ll dfs(int u) {
    if (ext[u]) return 0;
    if (vis[u]) return LLONG_MAX;
    vis[u] = 1;
    vector <ll> a;
    for (auto [v, w] : adj[u]) {
        ll k = dfs(v);
        if (k < LLONG_MAX) a.emplace_back(k + w);
    }
    while (a.size() < 2) a.emplace_back(LLONG_MAX);
    sort(a.begin(), a.end());
    return a[1];
}

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) {
    for (int i = 0; i < M; i++) {
        adj[R[i][0]].emplace_back(R[i][1], L[i]);
        adj[R[i][1]].emplace_back(R[i][0], L[i]);
    }
    for (int i = 0; i < K; i++) ext[P[i]] = 1;
    return dfs(0);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...