Cod sursa(job #1589353)

Utilizator dorin31Geman Dorin Andrei dorin31 Data 3 februarie 2016 22:10:52
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>

#define maxN 50005

using namespace std;

ifstream fin("distante.in");
ofstream fout("distante.out");

int test;
bool ans;
int n,m,s,dist[maxN],x,y,c;

int main()
{
    fin>>test;
    while (test--)
    {
        ans=true;
        fin>>n>>m>>s;
        for (int i=1; i<=n; ++i)
            fin>>dist[i];
        if (dist[s]) ans=false;
        for (int i=1; i<=m; ++i)
        {
            fin>>x>>y>>c;
            if (dist[x]>dist[y]+c||dist[y]>dist[x]+c) ans=false;
        }
        (ans) ? fout<<"DA\n" : fout<<"NU\n";
    }
    return 0;
}