Cod sursa(job #862411)

Utilizator matei_cChristescu Matei matei_c Data 22 ianuarie 2013 18:05:29
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<cstdio>

#define maxn 50002

int tst ;

int dist[maxn] ;

void query()
{
	int n, m, sursa ;
	
    scanf("%d%d%d", &n, &m, &sursa);
	
    bool ok = true ;
    
	for(int i = 1; i <= n; ++i )
        scanf("%d", &dist[i]);
    
	if( dist[sursa] != 0 )
        ok = false ;
	
    for(int i = 1; i <= m;++i )
	{
		int a, b, cost ;
		
        scanf("%d%d%d", &a, &b, &cost);
		
        if( dist[a] + cost < dist[b] )
            ok = false ;
    }
	
    if( ok )
        printf("DA\n");
    else
        printf("NU\n");
}

int main()
{
	
    freopen("distante.in", "r", stdin);
    freopen("distante.out", "w", stdout);
     
    scanf("%d", &tst);
	
    for(int i = 1; i <= tst; ++i )
        query();
	
    return 0 ;

}