Cod sursa(job #1037379)

Utilizator usermeBogdan Cretu userme Data 20 noiembrie 2013 09:17:20
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>

FILE*f=fopen("distante.in","r");
FILE*h=fopen("distante.out","w");

int d[50001];

int main()
{
    int t;
    fscanf(f,"%d",&t);
    while ( t ){
        --t;
        int n,m,s;
        bool ok=1;
        fscanf(f,"%d%d%d",&n,&m,&s);
        for ( int i=1;i<=n;++i )
            fscanf(f,"%d",&d[i]);
        for ( int i=1;i<=m;++i ){
            int a,b,c;
            fscanf(f,"%d%d%d",&a,&b,&c);
            if ( d[a]+c<d[b]||d[b]+c<d[a] )ok=0;
        }
        if ( d[s]!=0 )ok=0;
        if ( ok==1 )fprintf(h,"DA\n");
        else fprintf(h,"NU\n");
    }
    return 0;
}