Cod sursa(job #2684016)

Utilizator Adrian.TrillMititean Adrian Adrian.Trill Data 12 decembrie 2020 15:50:53
Problema Distante Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
#define MAX_SIZE 50005
using namespace std;
ifstream f("distante.in");
ofstream g("distante.out");
int dist[MAX_SIZE];
int t,n,m,startnode;
int main ( void )
{
    f>>t;
    while(t -- )
    {
        f>>n>>m>>startnode;
        bool ok=true;
        for(int i(1); i<=n ; f>>dist[i++]);
        if(dist[startnode])
            ok=false;
        while(m--)
        {
            int node1,node2,cost;
            f>>node1>>node2>>cost;
            if(dist[node1] > dist[node2]+ cost || dist[node2] > dist[node1] + cost)
                ok=false;
        }
        if( ok == false )
            g<<"NU\n";
        else
            g<<"DA\n";
    }
    f.close();
    g.close();
    return 0;
}