Submission #754460

#TimeUsernameProblemLanguageResultExecution timeMemory
754460HaciyevAlikCyberland (APIO23_cyberland)C++17
15 / 100
1271 ms8696 KiB
#include "cyberland.h" #include <bits/stdc++.h> const int mx=100005; std::vector<std::pair<long long,long long>> g[mx]; long long used[mx],dis[mx]; std::priority_queue<std::pair<long long,long long>> pq; 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) { for(int i=0;i<mx;++i) {g[i].clear();} for(int i=0;i<mx;++i) dis[i]=100000000000; memset(used,0,sizeof(used)); for(int i=0;i<M;++i){ g[x[i]].push_back({y[i],c[i]}); g[y[i]].push_back({x[i],c[i]}); } dis[0]=0; pq.push({0,0}); while(!pq.empty()) { int a=pq.top().second; pq.pop(); if(used[a]) continue; used[a]=1; for(int i=0;i<(int)g[a].size();++i) { long long v=g[a][i].first,w=g[a][i].second; if(dis[a]+w<dis[v]) { dis[v]=dis[a]+w; pq.push({-dis[v],v}); } } } if(!used[H]) return -1; return dis[H]; }
#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...