Pagini recente » Cod sursa (job #924152) | Cod sursa (job #641963) | Cod sursa (job #2891967) | Cod sursa (job #851110) | Cod sursa (job #2724790)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("distante.in");
ofstream fout("distante.out");
const ll NMAX = 50005;
ll dist[NMAX],a[NMAX];
ll n,m,s,x,y,z,T;
ll modul(ll nr){
if(nr<0) return (nr*(-1));
return nr;
}
void solve(){
memset(a,false,sizeof(a));
memset(dist,0,sizeof(dist));
fin >> n >> m >> s;
bool ok=true;
a[s]=true;
for(ll i=1;i<=n;i++) fin >> dist[i];
for(ll i=1;i<=m;i++){
fin >> x >> y >> z;
if(modul(dist[x]-dist[y])>z) ok=false;
if(modul(dist[x]-dist[y])==z){
if(dist[x]>=dist[y]) a[x]=true;
else a[y]=true;
}
}
bool verif=false;
for(ll i=1;i<=n;i++){
if(a[i]==false){
verif=true;
break;
}
}
if(verif==true) ok=false;
if(ok==true) fout << "DA" << '\n';
else fout << "NU" << '\n';
}
int main()
{
fin >> T;
for(ll t=1;t<=T;t++){
solve();
}
return 0;
}