Submission #1227960

#TimeUsernameProblemLanguageResultExecution timeMemory
1227960goduadzesabaCyberland (APIO23_cyberland)C++20
8 / 100
23 ms5956 KiB
#include "cyberland.h" #include <bits/stdc++.h> using namespace std; const long long inf=1e18; double solve(int N, int M, int K, int H, vector<int> x, vector<int> y, vector<int> c, vector<int> arr) { vector <pair<int,int> > v[N]; for (int i=0; i<M; i++){ v[x[i]].push_back({y[i],c[i]}); v[y[i]].push_back({x[i],c[i]}); } arr[0]=0; set <pair<long long,int>> s; long long d[N]; for (int i=0; i<N; i++){ assert(arr[i]!=2); if (arr[i]==0){ d[i]=0; s.insert({0,i}); } else d[i]=inf; } while (!s.empty()){ int x=s.begin()->second; s.erase(s.begin()); for (auto i:v[x]){ if (d[i.first]>d[x]+i.second){ s.erase({d[i.first],i.first}); d[i.first]=d[x]+i.second; s.insert({d[i.first],i.first}); } } } return d[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...