Cod sursa(job #1497308)

Utilizator tiby10Tibi P tiby10 Data 6 octombrie 2015 17:26:04
Problema Distante Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("distante.in");
ofstream fout("distante.out");
#define MAXN 50005
int D[MAXN];

int main()
{
    int n, t, m, s, a, b, c;
    fin>>t;
    while(t--){
        bool ok=true;
        fin>>n>>m>>s;
        for(int i=1; i<=n; ++i)
            fin>>D[i];
        if(D[s])
            ok=false;
        while(m--){
            fin>>a>>b>>c;
            if(D[a]+c<D[b] || D[b]+c<D[a])
                ok=false;
        }
        ok? fout<<"DA\n":fout<<"NU\n";
    }
    return 0;
}