Cod sursa(job #847489)

Utilizator silviuboganSilviu Bogan silviubogan Data 4 ianuarie 2013 00:15:02
Problema Distante Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

int main () {
    int nr, n, m, s, a, b, c, i;
    bool corect;

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

    in >> nr;

    for (; nr > 0; nr--) {
        corect = true;
        in >> n >> m >> s;
        int dist[n + 1];
        for (i = 1; i <= n; i++) {
            in >> dist[i];
        }
        for (i = 0; i < m; i++) {
            in >> a >> b >> c;
            if (corect && (dist[a] + c < dist[b] || dist[b] + c < dist[a])) {
                corect = false;
            }
        }
        out << (corect ? "DA" : "NU") << '\n';
    }

    in.close();
    out.close();
    return 0;
}