Submission #578258

#TimeUsernameProblemLanguageResultExecution timeMemory
578258Dan4LifeCrocodile's Underground City (IOI11_crocodile)C++17
46 / 100
127 ms262144 KiB
#include "crocodile.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define sz(s) (int)s.size()
#define fi first
#define se second
vector<pair<int,int>> adj[10000];
int n, m;

int dfs(int s, int p){
    multiset<int> S; S.clear();
    for(auto u : adj[s]){
        if(u.fi==p) continue;
        S.insert(dfs(u.fi, s)+u.se);
    }
    if(sz(adj[s])==1) return 0;
    S.erase(S.begin()); return *S.begin();
}

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
    n = N, m = M;
    for(int i = 0; i < n; i++){
        int a = R[i][0], b = R[i][1], c = L[i];
        adj[a].pb({b,c}), adj[b].pb({a,c});
    }
    return dfs(0,-1);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...