Submission #966942

# Submission time Handle Problem Language Result Execution time Memory
966942 2024-04-20T16:40:26 Z Hugo1729 Crocodile's Underground City (IOI11_crocodile) C++17
46 / 100
189 ms 262144 KB
#include <bits/stdc++.h>
#include "crocodile.h"
using namespace std;
typedef long long ll;

ll dp[100001]={0};
int n,m,k;
vector<pair<int,ll>> adj[100001];
bool blocked[100001]={0};

void dfs(int v, int pV){
    if(blocked[v])dp[v]=0;
    else{
        vector<ll> sus(3,LLONG_MAX/2);

        for(auto [w,d] : adj[v]){
            if(w!=pV){
                dfs(w,v);
                sus[2]=dp[w]+d;
                sort(sus.begin(),sus.end());
            }
        }
        // cout << v << ' ' << sus[0] << ' ' << sus[1] << ' ' << sus[2] << '\n';
        dp[v]=LLONG_MAX/2;
        if(dp[v]>sus[1])dp[v]=sus[1];
    }
}

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){
    n=N;
    m=M;
    k=K;

    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]});
    }

    for(int i=0;i<k;i++)blocked[P[i]]=1;

    dfs(0,0);

    // for(int i=0;i<n;i++)cout << dp[i] << ' ';
    // cout << '\n';

    return dp[0];
}


# Verdict Execution time Memory Grader output
1 Correct 1 ms 6492 KB Output is correct
2 Correct 1 ms 6492 KB Output is correct
3 Correct 2 ms 6492 KB Output is correct
4 Correct 2 ms 6748 KB Output is correct
5 Correct 2 ms 6748 KB Output is correct
6 Correct 2 ms 6748 KB Output is correct
7 Correct 2 ms 6692 KB Output is correct
8 Correct 2 ms 6748 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 6492 KB Output is correct
2 Correct 1 ms 6492 KB Output is correct
3 Correct 2 ms 6492 KB Output is correct
4 Correct 2 ms 6748 KB Output is correct
5 Correct 2 ms 6748 KB Output is correct
6 Correct 2 ms 6748 KB Output is correct
7 Correct 2 ms 6692 KB Output is correct
8 Correct 2 ms 6748 KB Output is correct
9 Runtime error 189 ms 262144 KB Execution killed with signal 9
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 6492 KB Output is correct
2 Correct 1 ms 6492 KB Output is correct
3 Correct 2 ms 6492 KB Output is correct
4 Correct 2 ms 6748 KB Output is correct
5 Correct 2 ms 6748 KB Output is correct
6 Correct 2 ms 6748 KB Output is correct
7 Correct 2 ms 6692 KB Output is correct
8 Correct 2 ms 6748 KB Output is correct
9 Runtime error 189 ms 262144 KB Execution killed with signal 9
10 Halted 0 ms 0 KB -