Pagini recente » Cod sursa (job #2518482) | Cod sursa (job #3180965) | Cod sursa (job #3217496) | Cod sursa (job #1031001) | Cod sursa (job #66026)
Cod sursa(job #66026)
#include <stdio.h>
#include <vector>
using namespace std;
#define mp make_pair
#define pb push_back
#define f first
#define s second
#define NMax 305
int N, S[NMax], X, Y;
vector< pair<int, int> > G[NMax];
int main(void)
{
int M, u, v, D, i;
vector< pair<int, int> >::iterator it;
freopen("sate.in", "r", stdin);
freopen("sate.out", "w", stdout);
scanf("%d %d %d %d", &N, &M, &X, &Y);
for (; M; M--)
{
scanf("%d %d %d", &u, &v, &D);
G[u].pb( mp(v, D) );
}
for (S[1] = 0, i = 2; i <= N; i++) S[i] = -1;
for (i = 1; i <= N; i++)
{
if (S[i] == -1) continue;
for (it = G[i].begin(); it != G[i].end(); it++)
S[it->f] = S[i] + it->s;
}
printf("%d\n", S[Y] - S[X]);
return 0;
}