Pagini recente » Cod sursa (job #328836) | Cod sursa (job #137032) | Cod sursa (job #2162034) | Cod sursa (job #1071284) | Cod sursa (job #115980)
Cod sursa(job #115980)
type triplu=record
nr,cor,min:longint;
end;
var fi,fo:text;
n,m,k:integer;
a,b,c,d,i,j,aux,pozi,min:longint;
detinuti:array[1..15]of longint;
coridor:array[1..1250,1..1250]of triplu;
begin
assign(fi,'gather.in'); reset(fi);
assign(fo,'gather.out'); rewrite(fo);
read(fi,k,n,m);
for i:=1 to k do
readln(fi,detinuti[i]);
for i:=1 to k-1 do
for j:=i+1 to k do
if detinuti[i]>detinuti[j] then
begin
aux:=detinuti[i];
detinuti[i]:=detinuti[j];
detinuti[j]:=aux;
end;
for i:=1 to m do
begin
read(fi,a,b,c,d);
coridor[a,b].cor:=1; coridor[b,a].cor:=1;
coridor[a,b].min:=c; coridor[b,a].min:=c;
coridor[a,b].nr:=d; coridor[b,a].nr:=d;
end;
pozi:=1; min:=0;
for i:=1 to k do
if coridor[pozi,detinuti[i]].cor=1 then
begin min:=i*coridor[pozi,detinuti[i]].min+min; pozi:=detinuti[i]; end;
writeln(fo,min);
close(fi);
close(fo);
end.