CSES - Flight Routes

Author: Benjamin Qi


Time Complexity: O(mklog(mk))\mathcal{O}(mk\log (mk))

Maintain a priority queue of the kk best distances found for each vertex. We'll iterate through the adjacency list of each vertex at most kk times.

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int MX = 2e5 + 5;
int n, m, k;
priority_queue<ll> bes[MX];
vector<pair<int, int>> adj[MX];
priority_queue<pair<ll, int>, vector<pair<ll, int>>, greater<pair<ll, int>>> pq;

Join the USACO Forum!

Stuck on a problem, or don't understand a module? Join the USACO Forum and get help from other competitive programmers!