Cod sursa(job #2425062)

Utilizator alexnigaNiga Alexandru alexniga Data 24 mai 2019 10:33:47
Problema Distante Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>
#define MAX 50006
using namespace std;

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

int n, m, start;
vector <pair <int, int> > G[MAX];
int dis[MAX];
int main()
{
    int t, e_ok = 1;
    f >> t;
    for (int ijk = 0; ijk < t; ijk++)
    {
        e_ok = 1;
        f >> n >> m >> start;

        for (int i = 1; i <= n; i++)
            f >> dis[i];
        for (int i = 1; i <= m; i++)
        {
            int x, y, cost;
            f >> x >> y >> cost;
            if (dis[x] + cost < dis[y] || dis[y] + cost < dis[x])
                e_ok = 0;
        }

        if (dis[start] != 0 || e_ok == 0)
            g << "NU\n";
        else
            g << "DA\n";
    }
    return 0;
}