Cod sursa(job #1608725)

Utilizator geogeo12Ifrim George geogeo12 Data 22 februarie 2016 12:16:02
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#define NMAX 50002
using namespace std;
 
ifstream in("distante.in");
ofstream out("distante.out");
 
int n,m,x,y,s,c,t,d[NMAX];
bool raspuns;
 
int main()
{
    in >> t;
 
    for(int k=0;k<t;k++)
    {
 
        raspuns = true;
        in >> n >> m >> s;
        for(int i=1;i<=n;i++)
            in >> d[i];
 
        if(d[s]!=0) raspuns =  false;
 
        for(int i=1;i<=m;i++)
        {
            in >> x >> y >> c;
            if(d[y]>d[x]+c || d[x]>d[y]+c)
                raspuns =  false;
        }
 
        if(raspuns)
            out << "DA" << "\n";
        else
            out << "NU" << "\n";
 
    }
 
    return 0;
}