Cod sursa(job #1267008)

Utilizator catalincraciunCraciun Catalin catalincraciun Data 19 noiembrie 2014 13:40:09
Problema Distante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
/// Craciun Catalin
///  Distante
#include <fstream>
#define NMax 50000
using namespace std;

ifstream f("distante.in");
ofstream g("distante.out");

int d[NMax];

int main() {

    int t; f>>t;
    for(int i=1;i<=t;i++) {
        bool ok = true;
        int n,m,s; f>>n>>m>>s;
        for (int i=1;i<=n;i++)
            f>>d[i];

        if (d[i] != 0)
            ok = false;
        for (int i=1;i<=m;i++) {
            int x,y,c; f>>x>>y>>c;
            if (ok) {
                if (d[x]+c < d[y] || d[y]+c < d[x])
                    ok = false;
            } else break;
        }

        if (ok) g<<"DA\n"; else g<<"NU\n";
    }

    f.close(); g.close();
    return 0;
}