제출 #985105

#제출 시각아이디문제언어결과실행 시간메모리
985105SabyrAlCyberland (APIO23_cyberland)C++17
0 / 100
29 ms5724 KiB
#include <bits/stdc++.h>

using namespace std;

double djicstra(int n, int m, int k, int h, vector<vector<pair<int, int> > >& g, vector<int>& arr) {
    vector<int> dist(n, 1e9);
    dist[0] = 0;
    priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > > q;
    q.push({0, 0});
    while(!q.empty()) {
        auto [d, v] = q.top();
        q.pop();
        if (d != dist[v]) continue;
        for (auto [to, c] : g[v]) {
            q.push({c + d, to});
            dist[to] = min(c + d, dist[to]);
        }
    }
    return dist[h];
}

double solve(int N, int M, int K, int H, vector<int> x, vector<int> y, vector<int> c, vector<int> arr) {
    vector<vector<pair<int, int> > > g(N);
    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]});
    }
    return djicstra(N, M, K, H, g, arr);
}
#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...