Submission #1583653


Source Code Expand

import itertools

inf = 10 ** 12

n, m, r = map(int, input().split())
n += 1
rl = [int(i) for i in input().split()]
d = [[inf for _ in[0]*n] for _ in[0]*n]

for _ in[0]*m:
    f, t, c = map(int, input().split())
    d[f][t], d[t][f] = c, c

for i in range(n):
    for j in range(n):
        for k in range(n):
            d[j][k] = min(d[j][k], d[j][i] + d[i][k])

ans = inf
for arr in itertools.permutations(rl):
    ans = min(ans, sum([d[arr[i]][arr[i+1]] for i in range(0, r-1)]))
print(ans)

Submission Info

Submission Time
Task D - joisino's travel
User yumechi
Language PyPy3 (2.4.0)
Score 400
Code Size 515 Byte
Status AC
Exec Time 503 ms
Memory 47704 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 11
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, sample_01.txt, sample_02.txt, sample_03.txt
Case Name Status Exec Time Memory
01.txt AC 503 ms 47704 KB
02.txt AC 346 ms 42332 KB
03.txt AC 338 ms 42332 KB
04.txt AC 402 ms 47192 KB
05.txt AC 423 ms 47320 KB
06.txt AC 470 ms 47448 KB
07.txt AC 461 ms 47320 KB
08.txt AC 324 ms 42332 KB
sample_01.txt AC 164 ms 38256 KB
sample_02.txt AC 162 ms 38256 KB
sample_03.txt AC 178 ms 38256 KB