Cod sursa(job #1304275)

Utilizator robertstrecheStreche Robert robertstreche Data 28 decembrie 2014 20:12:46
Problema Distante Scor 0
Compilator cpp Status done
Runda tema_vacanta_iarna Marime 0.58 kb
#include <fstream>

#define lmax 50005

using namespace std;

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

int t,n,m,s,x,y,z;
int dist[lmax];

inline void solve()
{
    f>>n>>m>>s;

    for (int i=1;i<=n;i++)
      f>>dist[i];

    if (dist[s])
     ok=0;

    for (int i=1;i<=m;i++)
     {
         f>>x>>y>>z;

         if (dist[x]+z<dist[y] || dist[y]+z<dist[x])
           ok=0;
     }
   if (ok)
    g<<"DA\n";
   else
    g<<"NU\n";
}

int main()
{
   f>>t;

   for (int i=1;i<=t;i++)
     solve();

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