Cod sursa(job #2214747)

Utilizator caesar2001Stoica Alexandru caesar2001 Data 19 iunie 2018 23:31:26
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");

int d[50005];

int main() {
    int teste;
    in >> teste;
    while (teste --) {
        int n, m, nod;
        in >> n >> m >> nod;
        bool flag = 1;
        for(int i = 1; i <= n; i ++) in >> d[i];
        if(d[nod] != 0)
            flag = 0;
        for(int i = 1; i <= m; i ++) {
            int a, b, c;
            in >> a >> b >> c;
            if(d[a] + c < d[b] || d[b] + c < d[a])
                flag = 0;
        }
        if(flag == 1)
            out << "DA\n";
        else
            out << "NU\n";
    }

    return 0;
}