Pagini recente » Cod sursa (job #1964600) | Cod sursa (job #321099) | Cod sursa (job #3228707) | Cod sursa (job #2838349) | Cod sursa (job #2311121)
#include <bits/stdc++.h>
using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");
const int DIM = 5e4 + 7;
int d[DIM];
void solve()
{
int n, m, st;
in >> n >> m >> st;
for(int i = 1; i <= n; i++)
in >> d[i];
if(d[st] != 0)
{
out << "NU\n";
return ;
}
vector <pair <int, int> > v[DIM];
while(m--)
{
int x, y, c;
in >> x >> y >> c;
v[x].push_back({y, c});
}
for(int i = 1; i <= n; i++)
for(auto j : v[i])
{
int mi = min(d[i], d[j.first]);
int mx = max(d[i], d[j.first]);
if(mi + j.second < mx)
{
out << "NU\n";
return ;
}
}
out << "DA\n";
return ;
}
int main()
{
int t;
in >> t;
while(t--)
solve();
}