Pagini recente » Cod sursa (job #40431) | Cod sursa (job #2583406) | Cod sursa (job #1819) | Cod sursa (job #3190268) | Cod sursa (job #863371)
Cod sursa(job #863371)
#include <fstream>
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
ifstream f ("distante.in");
ofstream g ("distante.out");
vector<unsigned int> cost;
int n, m, t, s;
bool bun;
int main(){
int x, y, c;
f >> t;
for(int i = 1; i <= t; ++i){
bun = true;
f >> n >> m >> s;
cost.resize(n+1);
for(int j = 1; j <= n; ++j) f >> cost[j];
if(cost[s] != 0){
bun = false;
for(int j = 1; j <= m; ++j) f >> x >> y >> c;
}
else{
for(int j = 1; j <= m; ++j){
f >> x >> y >> c;
if(cost[y] > cost[x] + c) bun = false;
}
}
if(!bun) g << "NU\n";
else g << "DA\n";
}
f.close();
g.close();
return 0;
}