Pagini recente » Cod sursa (job #33907) | Cod sursa (job #2535483) | Cod sursa (job #1652169) | Cod sursa (job #411602) | Cod sursa (job #2426451)
#include<fstream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");
#define Nmax 50001
#define INF ((1<<31)-1)
int d[Nmax];
int n, m, start;
int main ()
{
int t;
in>>t;
for(int i=1; i<=t; i++)
{
int ok=1, x, y, cost;
in >> n >> m >> start;
for(int i=1; i<=n; i++) in>>d[i];
if(d[start]!=0)
ok=0;
while(m--)
{
in>> x >> y >>cost;
if(d[x] + cost < d[y] || d[y] + cost < d[x])
ok=0;
}
if(ok == 0) out<<"NU\n";
else out<<"DA\n";
}
return 0;
}