Submission #1269908

#TimeUsernameProblemLanguageResultExecution timeMemory
1269908Faggi사이버랜드 (APIO23_cyberland)C++20
15 / 100
17 ms7236 KiB
#include <bits/stdc++.h> #define ll long long #define sz(x) int(x.size()) #define all(x) x.begin(),x.end() #define fr first #define se second #define pb push_back #define mp make_pair using namespace std; const int MAXN=1e5+1; vector<pair<ll,ll>>grafo[MAXN]; ll n, h, m, k; ll dijkstra() { priority_queue<pair<ll,ll>>pq; vector<ll>proc(n,0); vector<ll>dist(n,LLONG_MAX); dist[0]=0; pq.push({0,0}); while(pq.size()) { ll nod=pq.top().se; pq.pop(); if(proc[nod]) continue; proc[nod]=1; for(auto k:grafo[nod]) { if(dist[nod]+k.se<dist[k.fr]) { dist[k.fr]=dist[nod]+k.se; pq.push({-dist[k.fr],k.fr}); } } } return dist[h]; } 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) { ll i; n=N; m=M; k=K; h=H; for(i=0; i<n; i++) grafo[i].resize(0); for(i=0; i<M; i++) { grafo[x[i]].pb({y[i],c[i]}); grafo[y[i]].pb({x[i],c[i]}); } ll res=dijkstra(); if(res==LLONG_MAX) return double(-1); return double(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...