Cod sursa(job #1523865)

Utilizator rzvrzvNicolescu Razvan rzvrzv Data 13 noiembrie 2015 13:37:27
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<cstdio>

using namespace std;

int d[500002],n,m,s,x,y,z,i,t,j;
bool ok;

int main()
{
    freopen("distante.in","r",stdin);
    freopen("distante.out","w",stdout);
    scanf("%d",&t);
    for(i=1;i<=t;i++)
    {
        scanf("%d%d%d",&n,&m,&s);
        for(j=1;j<=n;j++)
        {
            scanf("%d",&d[j]);
        }
        ok=true;
        for(j=1;j<=m;j++)
        {
            scanf("%d%d%d",&x,&y,&z);
            if(d[x]+z<d[y]||d[y]+z<d[x]||d[s]!=0)
            {
                ok=false;
            }
        }
        if(ok)
        {
            printf("DA\n");
        }
        else
        {
            printf("NU\n");
        }
    }
    return 0;
}