Cod sursa(job #654364)

Utilizator idomiralinIdomir Alin idomiralin Data 30 decembrie 2011 12:52:33
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
# include <cstdio>

using namespace std;

int n, m, s, t, ok, x, y, c, cost[100005];
int main()
{int i, j;
    
    freopen("distante.in","r",stdin);
    freopen("distante.out","w",stdout);
    
    scanf("%d",&t);
    
    for (i = 1; i <= t ; i++)
    {
        scanf("%d%d%d",&n,&m,&s);
        
        for (j = 1; j <= n; j++)
        scanf("%d",&cost[j]);
        
        ok = 1;
        if (cost[s]) ok = 0;
        for (j = 1; j <= m; j++)
        {
             scanf("%d%d%d",&x,&y,&c);
             if (cost[x] + c < cost[y] || cost[y] + c < cost[x]) ok = 0;
             }
        
        if (ok) printf("DA\n");
           else printf("NU\n");
        }
}