Pagini recente » Cod sursa (job #1587565) | Cod sursa (job #791771) | Cod sursa (job #500929) | Cod sursa (job #96336) | Cod sursa (job #1106038)
#include <cstdio>
#include <vector>
using namespace std;
#define MaxN 50050
int main()
{
freopen( "distante.in", "r", stdin );
freopen( "distante.out", "w", stdout );
int n, m, s;
short t, it;
int x, y, c;
int d[MaxN], i;
bool ok;
int dummy;
scanf( "%d\n", &dummy );
t = (short)dummy;
for ( it = 1; it <= t; ++it )
{
scanf( "%d %d %d\n", &n, &m, &s );
for ( i = 1; i <= n; ++i )
scanf( "%d ", &d[i] );
ok = 1;
if ( d[s] )
{
ok = 0;
fseek( stdin, 15 * m, 0 );
}
for ( i = 1; i <= m; ++i )
{
scanf( "%d %d %d\n", &x, &y, &c );
if ( ( d[x] + c < d[y] ) || ( d[y] + c < d[x] ) )
{
ok = 0;
fseek( stdin, 15 * ( m - i ), 0 );
}
}
if ( ok )
printf( "DA\n" );
else
printf( "NU\n" );
}
fclose( stdin );
fclose( stdout );
return 0;
}