VDANGER - Nguy hiểm rõ ràng trước mắt

Tác giả: RR

Ngôn ngữ: Pascal

uses math;
var
  i,j,k,n,m,res:longint;
  a:array[1..10111] of longint;
  c:array[1..111,1..111] of longint;
begin
  read(n,m);
  for i:=1 to m do read(a[i]);
  for i:=1 to n do
  for j:=1 to n do
    read(c[i,j]);

  for k:=1 to n do
    for i:=1 to n do
    for j:=1 to n do
      c[i,j]:=min(c[i,j],c[i,k]+c[k,j]);

  res:=c[1,a[1]]+c[a[m],n];
  for i:=2 to m do
    inc(res,c[a[i-1],a[i]]);
  writeln(res);
end.

Download