Cod sursa(job #1497313)

Utilizator tiby10Tibi P tiby10 Data 6 octombrie 2015 17:30:38
Problema Distante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;
#define MAXN 50005
int main()
{
    int n, t, m, s, a, b, c, D[MAXN];
    freopen("distante.in","r",stdin);
    freopen("distante.out","w",stdout);
    scanf("%d",&t);
    while(t--){
        bool ok=true;
        scanf("%d%d%d",&n,&m,&s);
        for(int i=1; i<=n; ++i)
            scanf("%d",&D[i]);
        if(D[s])
            ok=false;
        while(m--){
            scanf("%d%d%d",&a,&b,&c);
            if(D[a]+c<D[b] || D[b]+c<D[a])
                ok=false;
        }
        if(ok) printf("DA\n")
        else printf("NU\n");
    }
    return 0;
}