オンライン実行

言語
ソースコード
タブ幅 
import heapq

def iwaijkstra(n,m,x,l,r,c):
    que = []
    heapq.heappush(que, (0, 1))
    dist = [10 ** 18] * n
    dist[0] = 0
    vis = [False] * n
    ans = 0
    while len(que) > 0:
        a,b = que[0]
        ans += 1
        for i in range(n):
            if dist[i] < a:
                vis[i] = True
        if vis[b-1]: continue
        for i in range(m):
            if x[i] == b:
                for j in range(l[i] - 1, r[i]):
                    if not vis[j]:
                        dist[j] = min(dist[j], a + c[i])
                        heapq.heappush(que, (a + c[i], j + 1))
        b = heapq.heappop(que)
    print(ans)
    
N,M = map(int, input().split())
X,L,R,C = ([0]*M,[0]*M,[0]*M,[0]*M)
for i in range(M):
	X[i],L[i],R[i],C[i] = map(int,input().split())
iwaijkstra(N,M,X,L,R,C)
標準入力
ログインしている場合のみ実行できます。
結果を非表示にする
一般公開

実行結果

コンパイルメッセージ
標準出力
標準エラー出力
実行時間 : 30 ms
コンパイル時間/使用メモリ : 219 ms
12,288 KB
実行使用メモリ : 10368 KB
終了ステータス : 0
コード長 : 806 Byte