Cod sursa(job #899968)

Utilizator cremarencodianaCremarenco Diana cremarencodiana Data 28 februarie 2013 17:07:43
Problema Distante Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <cstdio>
# include <vector>
# include <queue>
#define MAXINT 0x7FFFFFFF
using namespace std;
int d[50010],i,j,a,b,c,n,m,s,t,p;
bool ok;

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