Submission #773053

#TimeUsernameProblemLanguageResultExecution timeMemory
773053JakobZorzCyberland (APIO23_cyberland)C++17
15 / 100
24 ms7676 KiB
#include "cyberland.h" #include <vector> #include <iostream> #include <limits.h> #include <queue> #include <algorithm> typedef long long ll; const double MAX_DIST=1e18; using namespace std; int n,m,k,h; vector<pair<int,double>>nodes[100000]; double dist[100000]; double solve(int N,int M,int K,int H,vector<int>x,vector<int>y,vector<int>c,vector<int>arr){ n=N; m=M; k=K; h=H; for(int i=0;i<n;i++){ nodes[i].clear(); dist[i]=MAX_DIST; } for(int i=0;i<m;i++){ nodes[x[i]].emplace_back(y[i],c[i]); nodes[y[i]].emplace_back(x[i],c[i]); } dist[0]=0; queue<int>q; q.push(0); while(!q.empty()){ int curr=q.front(); q.pop(); for(pair<int,ll>ne:nodes[curr]){ double new_dist=dist[curr]+ne.second; if(new_dist<dist[ne.first]){ dist[ne.first]=new_dist; q.push(ne.first); } } } double res=dist[h]; if(res==MAX_DIST) res=-1; return res; }
#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...