Submission #1152986

#TimeUsernameProblemLanguageResultExecution timeMemory
1152986tapilyocaCyberland (APIO23_cyberland)C++20
8 / 100
16 ms6212 KiB
#include "cyberland.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using vll = vector<ll>; using ld = long double; 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<vector<pair<ll,ll>>> adj(N+1); for(int i = 0; i < M; i++){ ll a = x[i]; ll b = y[i]; ll w = c[i]; adj[a].push_back({b,w}); adj[b].push_back({a,w}); } // 8 points is just straight up bfs vector<bool> vis(N+1,0); queue<pair<ll,ll>> q; q.push({0,0}); vis[0] = 1; while(!q.empty()){ pair<ll,ll> temp = q.front(); q.pop(); ll at = temp.first; ll curDist = temp.second; for(pair<ll,ll> x : adj[at]){ if(vis[x.first]) continue; vis[x.first] = 1; if(x.first == H){ return curDist + x.second; } q.push({x.first, x.second + curDist}); } } 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...