Cod sursa(job #1512019)

Utilizator forever16Alex M forever16 Data 27 octombrie 2015 16:49:13
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include<fstream>
#include<vector>
#include<queue>

#define inf 1<<30
#define maxn 50001
using namespace std;
    ifstream fin("distante.in");
    ofstream fout("distante.out");


int n, m, t, s, a, b, c;
int d[maxn];

int main()
{
    fin>>t;
    for(int i=1; i<=t; i++)
    {
        fin>>n>>m>>s;

        for(int i=1; i<=n; i++)
            fin>>d[i];

        bool ok=true;

        for(int i=1; i<=m; i++)
        {  fin>>a>>b>>c;

        if(d[a]+c<d[b] or d[b]+c<d[a])
            ok=false;

        if(d[s]) ok=false;
        }

        if(ok) fout<<"DA"<<"\n";
            else fout<<"NU"<<"\n";
    }
    return 0;
}