Submission #1168461

#TimeUsernameProblemLanguageResultExecution timeMemory
1168461rayan_bdCyberland (APIO23_cyberland)C++20
0 / 100
218 ms2372 KiB
#include <bits/stdc++.h> using namespace std; const double INF = 5e9+0.1; const int mxN = 5; vector<pair<int,int>> adj[mxN]; vector<int> ar; double ans=INF; void dfs(int u,int par,int h,double cost){ if(u==h){ ans=min(ans,cost); return; } if(ar[u]==2) cost/=2; else if(ar[u]==0) cost=0; for(auto it:adj[u]){ if(it.first^par){ dfs(it.first,u,h,cost+it.second); } } } double solve(int N, int M, int K, int H, vector<int> x, vector<int> y, vector<int> c, vector<int> arr){ ar=arr; for(int i=1;i<=N;++i) adj[i].clear(); 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]}); } ans=INF; dfs(0,-1,H,0); return (ans==INF?-1: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...