Pagini recente » Cod sursa (job #2728249) | Cod sursa (job #1085275) | Cod sursa (job #3231246) | Cod sursa (job #3219152) | Cod sursa (job #2669174)
#include <bits/stdc++.h>
#define nmax 50000
#define buffmax 1<<17
FILE*input, *output;
char buffer[buffmax];
int poz=buffmax;
inline char advance()
{
if(poz == buffmax)
{
fread(buffer, 1, buffmax, input);
poz=0;
}
return buffer[poz++];
}
int nr()
{
char a = advance();
while(!isdigit(a))
{
a=advance();
}
int num=0;
while(isdigit(a))
{
num = num * 10 + a-'0';
a=advance();
}
return num;
}
int n,m, nod1, nod2, cost, sursa, teste;
int d[nmax+5];
using namespace std;
ofstream out("distante.out");
int main()
{
input=fopen("distante.in", "r");
teste=nr();
for(; teste; teste--)
{
n=nr();
m=nr();
sursa=nr();
for(int i=1; i<=n; i++)
{
d[i]=nr();
}
bool ok = 0 ;
for(int i=1; i<=m; i++)
{
nod1=nr();
nod2=nr();
cost=nr();
if(d[nod2]+cost < d[nod1] or d[nod1]+cost < d[nod2] )
{
ok = 1;
}
}
if(ok ==0)
{
out<<"DA\n";
}
else
{
out<<"NU\n";
}
}
return 0;
}