Cod sursa(job #1299488)

Utilizator t_@lexAlexandru Toma t_@lex Data 23 decembrie 2014 18:04:10
Problema Distante Scor 20
Compilator cpp Status done
Runda tema_vacanta_iarna Marime 1.07 kb
# include <fstream>
using namespace std;
ifstream f("distante.in");
ofstream g("distante.out");
int t,n,m,s,i,j,x,y,w,d[50001];
int main()
{
    f>>t;
    while(t--)
           {
            f>>n>>m>>s;
            for(i=1;i<s;i++)
                 f>>d[i];
            f>>d[s];
            if(d[s])
               {
                g<<"NU\n";
                for(i=s+1;i<=n;i++)
                     f>>x;
                for(i=1;i<=m;i++)
                     f>>x>>y>>w;
               }
            else
              {
               for(i=s+1;i<=n;i++)
                    f>>d[i];
               for(i=1;i<=m;i++)
                   {
                    f>>x>>y>>w;
                    if(d[x]>d[y]+w||d[y]>d[x]+w)
                         {
                          g<<"NU\n";
                          for(j=i+1;j<=m;j++)
                                f>>x>>y>>w;
                         }
                   }
               if(i==m+1)
                  g<<"DA\n";
              }
           }
    f.close();
    g.close();
    return 0;
}