Cod sursa(job #998048)

Utilizator poptibiPop Tiberiu poptibi Data 15 septembrie 2013 16:31:30
Problema Distante Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
using namespace std;

const int NMAX = 50005;

int T, N, M, S, A, B, C, D[NMAX];

int main()
{
    freopen("distante.in", "r", stdin);
    freopen("distante.out", "w", stdout);

    scanf("%i", &T);
    for(; T; T --)
    {
        scanf("%i %i %i", &N, &M, &S);
        for(int i = 1; i <= N; ++ i) scanf("%i", &D[i]);

        bool OK = 1;
        for(int i = 1; i <= M; ++ i)
        {
            scanf("%i %i %i", &A, &B, &C);
            if(D[A] + C < D[B] || D[B] + C < D[A]) OK = 0;
        }

        if(OK) printf("DA\n");
        else printf("NU\n");
    }

    return 0;
}