比赛 20101224 评测结果 AAAAAAAAAA
题目名称 最佳地点 最终得分 100
用户昵称 donny 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-12-24 19:47:58
显示代码纯文本
program bestspot;
var
  i,j,k,l,m:longint;
  p,f,c:longint;
  a:array[1..501,1..501]of longint;
  ff:array[1..500]of longint;
begin
  assign(input,'bestspot.in');
  reset(input);
  assign(output,'bestspot.out');
  rewrite(output);
  readln(p,f,c);
  for i:=1 to f do
    readln(ff[i]);
  for i:=1 to c do
  begin
    readln(j,k,l);
    a[j,k]:=l;
    a[k,j]:=l;
  end;
  for k:=1 to p do
    for i:=1 to p do
      if a[i,k]<>0 then
        for j:=1 to p do
          if (a[j,k]<>0)and(i<>j) then
          begin
            l:=a[i,k]+a[k,j];
            if l<a[i,j] then
              a[i,j]:=l
              else if a[i,j]=0 then a[i,j]:=l;
          end;
  j:=maxlongint;
  k:=0;
  for i:=1 to p do
  begin
    m:=0;
    for l:=1 to f do
      m:=m+a[i,ff[l]];
    if m<j then
    begin
      k:=i;
      j:=m;
    end;
  end;
  writeln(k);
  close(input);
  close(output);
end.