Cod sursa(job #1631841)

Utilizator theodor1289Theodor Amariucai theodor1289 Data 5 martie 2016 19:21:11
Problema Ubuntzei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#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;
}