オンライン実行

言語
ソースコード
タブ幅 
#include <bits/stdc++.h>
using namespace std;

long long iwaijkstra(int n,int m,vector<int> x,vector<int> l,vector<int> r,vector<int> c){
	multiset<pair<long long,int>> que; que.emplace(0,1);
	vector<long long> dist(n,1e18),vis(n); dist[0] = 0;
	int ans(0);
	while(!que.empty()){
		auto [a,b] = *que.begin(); que.erase(que.begin()),++ans;
		for (int i(0);i < n;++i) if (dist[i]<a) vis[i] = true;
		if (vis[b-1]) continue;
		for (int i(0);i < m;++i) if (x[i]==b){
			for (int j(l[i]-1);j < r[i];++j) if (!vis[j]) dist[j] = min(dist[j],a+c[i]),que.emplace(a+c[i],j+1);
		}
	}
	cout << ans << endl;
	return dist.back();
}

int main(){
	int N,M; cin >> N >> M; vector<int> X(M),L(M),R(M),C(M);
	for (int i(0);i < M;++i) cin >> X[i] >> L[i] >> R[i] >> C[i];
	iwaijkstra(N,M,X,L,R,C);
}
標準入力
ログインしている場合のみ実行できます。
結果を非表示にする
一般公開

実行結果

コンパイルメッセージ
標準出力
標準エラー出力
実行時間 : 1 ms
コンパイル時間/使用メモリ : 1,726 ms
203,720 KB
実行使用メモリ : 7716 KB
終了ステータス : 0
コード長 : 780 Byte