제출 #970350

#제출 시각아이디문제언어결과실행 시간메모리
970350anton사이버랜드 (APIO23_cyberland)C++17
8 / 100
1345 ms2097152 KiB
#include "cyberland.h"
#include<bits/stdc++.h>

using namespace std;
#define ll long long
#define int long long
#define pii pair<int, int>

void dp(int u, int a, int d, vector<vector<pii>>& adj,vector<signed>& arr, vector<int>& dis){
    if(arr[u] == 0){
        d =0;
    }
    dis[u] = d;
    for(auto e: adj[u]){
        if(e.first != a){
            dp(e.first, u, d + e.second, adj, arr, dis);
        }
    }
}

double solve(signed N, signed M, signed K, signed H, std::vector<signed> x, std::vector<signed> y, std::vector<signed> c, std::vector<signed> arr) {
    vector<vector<pii>> adj(N);
    for(int i = 0; i<M; i++){
        adj[x[i]].push_back({y[i], c[i]});
        adj[y[i]].push_back({x[i], c[i]});
    }
    vector<int> res(N);
    dp(0, -1, 0, adj, arr, res);

    return (double)(res[H]);
    
    return -1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...