Submission #985417

#TimeUsernameProblemLanguageResultExecution timeMemory
985417kkkkkkkkCyberland (APIO23_cyberland)C++17
8 / 100
31 ms6820 KiB
#include <bits/stdc++.h> using namespace std; vector<pair<int,int> > G[100005]; double rez=0; int N; void dijkstra(int kraj) { bool vis[N]={0}; double dist[N]; for (int i=0;i<N;i++) dist[i]=1e15; priority_queue<pair<double,int> > pq; pq.push({0,0}); dist[0]=0; while (!pq.empty()) { int teme=pq.top().second; pq.pop(); if (vis[teme]) continue; vis[teme]=1; for (auto x:G[teme]) { int next=x.first, dist_between=x.second; if (dist[next]>dist[teme]+dist_between) { dist[next]=dist[teme]+dist_between; pq.push({-dist[next], next}); } } } rez=dist[kraj]; } double solve(int n, int m, int k, int h, vector<int> a, vector<int> b, vector<int> c, vector<int> arr) { for(int i=0;i<n;i++) G[i].clear(); N=n; for (int i=0;i<m;i++) { G[a[i]].push_back({b[i],c[i]}); G[b[i]].push_back({a[i],c[i]}); } dijkstra(h); return rez; }
#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...