Pagini recente » Cod sursa (job #1468964) | Cod sursa (job #1283624) | Cod sursa (job #398148) | Cod sursa (job #2451274) | Cod sursa (job #1045244)
#include<fstream>
#include<vector>
using namespace std;
const int MAXN=50005;
ifstream fin("distante.in");
ofstream fout("distante.out");
int t,n,m,s;
int d[MAXN];
bool flag,uz[MAXN];
int main()
{
int i,a,b,c;
fin>>t;
for (int k=1; k<=t; ++k)
{
flag=true;
fin>>n>>m>>s;
for (i=1; i<=n; ++i)
fin>>d[i];
for (i=1; i<=m && flag; ++i)
{
fin>>a>>b>>c;
if (d[a]+c==d[b])
uz[b]=true;
if (d[b]+c==d[a])
uz[a]=true;
if (d[b]+c<d[a] || d[a]+c<d[b])
flag=false;
}
for (i=1; i<=n; ++i)
{
if (!uz[i])
{
flag=false;
break;
}
uz[i]=false;
}
if (flag)
fout<<"DA\n";
else
fout<<"NU\n";
}
fin.close();
fout.close();
return 0;
}