32 lines
748 B
Python
32 lines
748 B
Python
import sys
|
|
input = sys.stdin.readline
|
|
inf = 20000
|
|
|
|
n, m, r = map(int, input().split())
|
|
items = [0] + list(map(int, input().split()))
|
|
linked = [[inf for _ in range(n+1)] for _ in range(n+1)]
|
|
for _ in range(r) :
|
|
u, v, w = map(int, input().split())
|
|
linked[u][v] = w
|
|
linked[v][u] = w
|
|
|
|
for i in range(1, n+1) :
|
|
linked[i][i] = 0
|
|
|
|
for k in range(1, n+1) :
|
|
for i in range(1, n+1) :
|
|
for j in range(1, n+1) :
|
|
if linked[i][j] > linked[i][k] + linked[k][j] :
|
|
linked[i][j] = linked[i][k] + linked[k][j]
|
|
|
|
max_items = 0
|
|
|
|
for i in range(1,n+1) :
|
|
temp = 0
|
|
for j in range(1,n+1) :
|
|
if linked[i][j] <= m :
|
|
temp += items[j]
|
|
|
|
max_items = max(max_items, temp)
|
|
|
|
print(max_items) |