Submission #1792241
Source Code Expand
import std.stdio, std.string, std.conv, std.bigint, std.typecons, std.algorithm, std.array, std.math, std.range, std.functional; void main() { auto tmp = readln.split.to!(ulong[]); auto N = tmp[0]; auto M = tmp[1]; auto R = tmp[2]; auto r = readln.split.to!(ulong[]); ulong[][] distance = new ulong[][](N,N); foreach (i; 0..N) { foreach (j; 0..N) { distance[i][j] = ulong.max / 2; } } foreach (i; 0..M) { tmp = readln.split.to!(ulong[]); distance[tmp[0]-1][tmp[1]-1] = tmp[2]; distance[tmp[1]-1][tmp[0]-1] = tmp[2]; } foreach (k; 0..N) { foreach (i; 0..N) { foreach (j; 0..N) { distance[i][j] = min(distance[i][j], distance[i][k] + distance[k][j]); } } } auto perm = sort(r); ulong res = ulong.max; do { res = min(res, iota(R-1).map!(i => distance[perm[i]-1][perm[i+1]-1]).sum); } while (nextPermutation(perm)); writeln(res); }
Submission Info
Submission Time | |
---|---|
Task | D - joisino's travel |
User | sobaya |
Language | D (DMD64 v2.070.1) |
Score | 400 |
Code Size | 1047 Byte |
Status | AC |
Exec Time | 54 ms |
Memory | 1276 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
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 | 54 ms | 1276 KB |
02.txt | AC | 28 ms | 764 KB |
03.txt | AC | 28 ms | 764 KB |
04.txt | AC | 34 ms | 1020 KB |
05.txt | AC | 38 ms | 1276 KB |
06.txt | AC | 54 ms | 1276 KB |
07.txt | AC | 51 ms | 1276 KB |
08.txt | AC | 26 ms | 636 KB |
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |