Pagini recente » Borderou de evaluare (job #200907) | Cod sursa (job #512342) | Cod sursa (job #2971980) | Cod sursa (job #2705612) | Cod sursa (job #675202)
Cod sursa(job #675202)
#include<fstream>
#include<vector>
#include<queue>
using namespace std;
#define inf 0x3f3f3f
ifstream f("ubuntzei.in");
ofstream g("ubuntzei.out");
struct nod
{
int y,c;
};
vector<vector< nod > > mat(50001);
vector< long > dist(50001,inf);
queue<int > q;
int n,m,k,i,j,orase[2000],x,y,c;
int main()
{
f>>n>>m;
f>>k;
for(i=1;i<=k;i++)
f>>orase[i];
for(i=1;i<=m;i++)
{
f>>x>>y>>c;
mat[x].push_back((nod) {y,c});
}
q.push(1);
dist[1]=0;
while(!q.empty())
{
x=q.front();
for(i=0;i<mat[x].size();i++)
if(dist[mat[x][i].y]> dist[x]+mat[x][i].c)
{
dist[mat[x][i].y]=dist[x]+mat[x][i].c;
q.push(mat[x][i].y);
}
q.pop();
}
g<<dist[n];
}