Pagini recente » Cod sursa (job #2358364) | Cod sursa (job #2421810) | Cod sursa (job #1042739) | Cod sursa (job #3170501) | Cod sursa (job #1631841)
#include <fstream>
#define inf 2000000000
using namespace std;
ifstream fin("ubuntzei.in");
ofstream fout("ubuntzei.out");
int drum[2000][2000], dist[2001], suma=inf, sumac, mini;
short n, m, c, nrobl, ctr, a, b, d;
int obl[2001], viz[2001];
int main()
{
fin>>n>>m;
fin>>nrobl;
for(int i=1;i<=nrobl;i++)
{
fin>>c;
obl[c]=1;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
drum[i][j]=inf;
for(int i=1;i<=m;i++)
{
fin>>a>>b>>d;
drum[a][b]=drum[b][a]=d;
}
for(int i=1;i<=n;i++)
dist[i]=inf;
for(int i=2;i<=n;i++)
{
if(obl[i]>obl[i-1])
ctr++;
mini=inf;
for(int j=1;j<=n;j++)
if(dist[j]+drum[i][j]<mini)
if(obl[j]==ctr)
mini=dist[j]+drum[i][j];
}
return 0;
}