比赛 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.