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