제출 #769451

#제출 시각아이디문제언어결과실행 시간메모리
769451HD1Cyberland (APIO23_cyberland)C++17
0 / 100
137 ms9932 KiB
//we are all lost trying to be someone.
#include <bits/stdc++.h>
#include "cyberland.h"
#define fastio ios_base::sync_with_stdio(0); cin.tie(0);
#define sz(x) ll(x.size())
#define reve(x) reverse(x.begin(),x.end())
#define ff first
#define ss second
using namespace std;
typedef int ll;
typedef long double ld;
typedef pair<double,ll> ii;
const ll MAX=(1e5+10)*2;
vector<ii> gfo[MAX];
bool vst[MAX];
double dist[MAX];
void dikstra(ll ini){
    set<ii> q;
    q.insert({0,ini});
    vst[ini]=true;
    dist[ini]=0.0;
    while(sz(q)){
        ii x=*q.begin();
        q.erase(q.begin());
        ll u=x.ss;
        ll dist_u=x.ff;
        if(dist[u]!=dist_u)continue;
        for(ii y:gfo[u]){
            ll v=y.ss;
            ll w=y.ff;
            if(dist[v]>dist[u]+w){
                dist[v]=dist[u]+w;
                q.insert({dist[v],v});
            }
        }
    }
}
double solve(ll N, ll M, ll K,ll H, vector<ll> x, vector<ll> y, vector<ll> c, vector<ll> arr){
    for(ll i=0; i<=N; i++){
        dist[i]=1000000000.0;
    }
    for(ll i=0; i<M; i++){
        gfo[x[i]].push_back({c[i],y[i]});
        gfo[y[i]].push_back({c[i],x[i]});
    }
    dikstra(0);
    return dist[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...