Submission #1259765

#TimeUsernameProblemLanguageResultExecution timeMemory
1259765lunarechoCyberland (APIO23_cyberland)C++20
0 / 100
17 ms6468 KiB
#include "cyberland.h" #include <bits/stdc++.h> using namespace std; void dfs(int node, vector<bool>& vis, vector<pair<int,int>> adj[], int &ans, int target, int sum) { if(node == target) { ans = sum; return; } for(auto &neighbour : adj[node]) { if(!vis[neighbour.first]) { vis[neighbour.first] = true; sum += neighbour.second; dfs(neighbour.first, vis, adj, ans, target, sum); sum -= neighbour.second; } } } double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) { vector<pair<int,int>> adj[N + 1]; 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<bool> vis(N + 1, false); int ans = -1; dfs(0, vis, adj, ans, H, 0); if(!vis[H]) { return -1; } return ans; }
#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...