Cod sursa(job #2839863)

Utilizator alexdmnDamian Alexandru alexdmn Data 26 ianuarie 2022 17:49:49
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <queue>

using namespace std;
vector <long long int> v[30005], cost[30005];
queue <long long int> q;
long long int sum[30005], cs=0, s, t, f[30005], ok=0;
long long int bfs(long long int x)
{
	q.push(x);
	f[x]=1;
	while(q.front()!=t)
	{
		cs=q.front();
		for(int i=0;i<v[cs].size();i++)
		{
			if(f[v[cs][i]]==0)
			{
				f[v[cs][i]]=1;
				sum[v[cs][i]]+=sum[cs]+cost[cs][i];
				q.push(v[cs][i]);
			}
		}
		q.pop();
	}
	return 0;
}
int main()
{
	ifstream cin("sate.in");
	ofstream cout("sate.out");

    long long int n,m,a,c,b;
	cin>>n>>m>>s>>t;

	for(int i=0;i<m;i++)
	{
		cin>>a>>b>>c;
		v[a].push_back(b);
		v[b].push_back(a);
		cost[a].push_back(c);
		cost[b].push_back((-1)*c);
	}
	bfs(s);

	cout<<sum[t];

    return 0;
}