Cod sursa(job #3219504)
| Utilizator | Data | 31 martie 2024 15:46:02 | |
|---|---|---|---|
| Problema | Sate | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("sate.in");
ofstream cout("sate.out");
#define MAXN 100000
vector<pair<int, int>> mat[MAXN+1];
int dist[MAXN+1];
int n, m, xi, yi;
void dfs(int poz, int val) {
dist[poz]=val;
for(auto i:mat[poz])
if(dist[i.first]==0)
dfs(i.first, val+i.second);
}
int main() {
cin>>n>>m>>xi>>yi;
int i, x, y, d;
for(i=0; i<m; i++) {
cin>>x>>y>>d;
mat[x].push_back({y, d});
mat[y].push_back({x, -d});
}
dfs(xi, 0);
cout<<dist[yi];
}
