Submission #1167722

#TimeUsernameProblemLanguageResultExecution timeMemory
1167722KnightCommuter Pass (JOI18_commuter_pass)C++20
0 / 100
2095 ms15284 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") using namespace std; vector<pair<int, long long>> g[100001]; vector<long long> djk(int x, int n){ priority_queue<pair<long long, int>> q; vector<long long> dis; int y; long long l; for(int i=0;i<=n;i++){ dis.push_back(LLONG_MAX); } dis[x] = 0; q.push({0, x}); while(!q.empty()){ y = q.top().second; l = q.top().first; q.pop(); if(l==dis[y]){ for(pair<int, long long> i : g[y]){ if(dis[i.first]>(l+i.second)){ dis[i.first] = l+i.second; q.push({dis[i.first], i.first}); } } } } return dis; } int main() { //ifstream cin("in.in"); ios_base::sync_with_stdio(0);cin.tie(0); int n, m, s, u, t, v, x, y; vector<long long> ds, dt, du, dv; long long l, a; cin >> n >> m; cin >> s >> t >> u >> v; for(int i=1;i<=m;i++){ cin >> x >> y >> l; g[x].push_back({y, l}); g[y].push_back({x, l}); } ds = djk(s, n); a = ds[v]; cout << a << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...