Pagini recente » Cod sursa (job #2692930) | Cod sursa (job #876748) | Cod sursa (job #2953059) | Cod sursa (job #2158695) | Cod sursa (job #862399)
Cod sursa(job #862399)
#include<cstdio>
#include<cstring>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std ;
#define maxn 50001
int tst ;
int n, m, sursa ;
int dist[maxn] ;
int main()
{
freopen("distante.in", "r", stdin);
freopen("distante.out", "w", stdout);
scanf("%d", &tst);
while( tst )
{
memset( dist, 0, sizeof(dist) ) ;
scanf("%d%d%d", &n, &m, &sursa);
for(int i = 1; i <= n; ++i )
scanf("%d", &dist[i]);
bool ok = true ;
if( dist[sursa] )
ok = false ;
for(int i = 1; i <= m; ++i )
{
int a, b, cost ;
scanf("%d%d%d", &a, &b, &cost);
if( dist[b] > dist[a] + cost )
{
ok = false ;
break ;
}
}
if( ok == true )
printf("DA\n");
else
printf("NU\n");
--tst ;
}
return 0 ;
}